Ich weiß, dass mein Programmierstil nicht der beste ist
Hier der code:
Code: Alles auswählen
#Python 3.4.1
from tkinter import *
from tkinter.filedialog import *
import time
import sys
import os
from string import *
import webbrowser
global root
root = Tk()
class screen(Frame):#Mein spezieller Frame
def add_widget(self,widget,**options):
widget.master = self
widget.pack(**options)
def geometry(self,höhe,breite):
self["height"] = höhe
self["width"] = breite
def __init__(self,master,borderwidth=0,bg="white",pos=NONE):
Frame.__init__(self,master,borderwidth=borderwidth,bg=bg)
print("screen angelegt")
def tempsavescr(scrname):#bewährt, um die screens zu wechseln
schreiber = open("Dateien/tmp/packscreen.tmp","w")
schreiber.write(scrname)
schreiber.close()
tempsavescr("tempsavescreen und temploadscreen funktionieren!")
def temploadscr():#bewährt, um die screens zu wechseln
leser = open("Dateien/tmp/packscreen.tmp")
packscreen = leser.read()
leser.close()
return packscreen;
print(temploadscr())
tempsavescr("start")
#def verschlüsseln():
# pass
#verschlüsseln() wird nur durch einen Button in vgui() gerufen.
def vgui():
def acceptevent(vstring):
print("vstring( " + vstring + " )wird an verschlüsseln übergeben.")
verschlüsseln(vstring)
packscr = temploadscr()
print(packscr)
if packscr == "start":
start.pack_forget()
elif packscr == "escr":
escr.pack_forget()
elif packscr == "vscr":
exit()
global vscr
vscr = screen(root)
vscr.geometry(höhe=100,breite=100)
vscr.text = screen(vscr)
vscroll = Scrollbar(vscr.text)
vtext = Text(vscr.text,height=40,width=170)
vscroll.pack(side="right",fill="y")
vtext.pack(side="left",fill="y")
vscroll.config(command=vtext.yview)
vtext.config(yscrollcommand=vscroll.set)
okbutton = Button(vscr,command=lambda:acceptevent(vtext.get(1.0,END)),text="Verschlüsseln",relief="raised",borderwidth=1,bg="white",fg="green")
okbutton.pack(side="bottom")
vscr.text.pack()
vscr.pack()
tempsavescr("vscr")
#def entschlüsseln(string):
# pass
#entschlüsseln() wird nur durch einen Button in egui() gerufen
def egui():
def acceptevent(estring):
print("estring( " + estring + " )wird an verschlüsseln übergeben.")
entschlüsseln(estring)
packscr = temploadscr()
print(packscr)
if packscr == "start":
start.pack_forget()
elif packscr == "escr":
exit()
elif packscr == "vscr":
vscr.pack_forget()
global escr
escr = screen(root)
escr.geometry(höhe=100,breite=100)
escr.text = screen(escr)
escroll = Scrollbar(escr.text)
etext = Text(escr.text,height=40,width=170)
escroll.pack(side="right",fill="y")
etext.pack(side="left",fill="y")
escroll.config(command=etext.yview)
etext.config(yscrollcommand=escroll.set)
okbutton = Button(escr,command=lambda:acceptevent(etext.get(1.0,END)),text="Entschlüsseln",relief="raised",borderwidth=1,bg="white",fg="green")
okbutton.pack(side="bottom")
escr.text.pack()
escr.pack()
tempsavescr("escr")
root.title("SC Test")
root.geometry("500x500")
bar = Menu(root)#erstelle leiste
#featurem
featurem = Menu(bar)
featurem.add_command(label="Verschlüsseln",command=lambda:vgui())
featurem.add_command(label="Entschlüsseln",command=lambda:egui())
#helpm
helpm = Menu(bar)
helpm.add_command(label="Website Hotp44.de",command=lambda:webbrowser.open("http://Hotp44.de/"))
global start
start = screen(root)
startlabel1 = Label(start,text="\nWillkommen bei SC!\n",bg="blue",fg="yellow",font="Arial 30")
start.add_widget(startlabel1)
startlabel2 = Label(start,text="Bitte wählen Sie eine Aktion unter 'Funktionen' aus!",bg="white",fg="black",font="Arial 10")
start.add_widget(startlabel2)
start.pack()
kill = Button(root,text="\nBeenden\n",bg="white",fg="red",font=None,command=exit)
kill.pack(side="bottom")
bar.add_cascade(label="Funktionen",menu=featurem)#zeige "Funktionen" an
bar.add_cascade(label="Hilfe",menu=helpm)#zeige "Hilfe" an
root.config(menu=bar)
root.mainloop()
