Frame ein und aublenden
Verfasst: Dienstag 7. Januar 2003, 17:55
Meine Oberfläche soll weitgehend dynamisch sein.
Unter Delphi konnte ich ein From mit Show darstellen und mit Hide verbergen. Ein ähnliches System möchte ich mit Python erreichen.
Ich habe ein Klasse erstellt, in der ein Frame erzeugt wird.
Soweit so gut. Jedoch wie kann ich ein Frame (eigendlich jedes Widget) nun wieder verwerfen?
Anbei mein Gedankengang
Es geht um die Public Methods doShow und doHide.
Ich erhalte den Fehler
In meinen Unterlagen finde ich nichts brauchbares.
Unter Delphi konnte ich ein From mit Show darstellen und mit Hide verbergen. Ein ähnliches System möchte ich mit Python erreichen.
Ich habe ein Klasse erstellt, in der ein Frame erzeugt wird.
Soweit so gut. Jedoch wie kann ich ein Frame (eigendlich jedes Widget) nun wieder verwerfen?
Anbei mein Gedankengang
Code: Alles auswählen
File option.py
class optionForm:
def __init__(self, master):
self.frame = Frame(master, takefocus=1, highlightthickness=2, highlightcolor='blue')
Label(self.frame, text=' ').grid(row=0, column=0, sticky=W)
Label(self.frame, text=' ').grid(row=0, column=5, sticky=W)
self.B1=self.mkbutton(self.frame, 'B1', 1)
self.B2=self.mkbutton(self.frame, 'B2', 2)
self.B3=self.mkbutton(self.frame, 'B3', 3)
self.B4=self.mkbutton(self.frame, 'B4', 4)
#self.doShow()
def doShow(self):
self.frame.pack()
def doHide(self):
self.frame.packforget()
def mkbutton(self, frame, button, column, action=None):
button = Button(frame, text=button, highlightthickness=2)
button.grid(padx=10, pady=6, row=0, col=column, sticky=NSEW)
if action:
button.config(command=action)
return button
Code: Alles auswählen
File main.py
def dobrowser(self):
self.frmCurrent = option.optionForm(self.form)
self.frmCurrent().doShow()
Code: Alles auswählen
File "C:\Python22\prg\EMC\main.py", line 106, in dobrowser
self.frmCurrent().doShow()
AttributeError: browserForm instance has no __call__ method