frame contents update?
Verfasst: Sonntag 29. April 2007, 10:34
Hallo miteinander!
Ich hoffe, irgendwer kann mir auch diesmal wieder helfen. Die Codeteile sollen einen busy indicator in einer GUI darstellen. Leider funkt's nicht so, wie ich mir das gedacht habe. Manchmal funktioniert's, dass busy dargestellt wird, aber ein Aurfuf von setIdle/steBusy bewirkt meistens auf der GUI rein gar nix - die Anzeige bleibt auf busy. Wunderbar funktioniert es nur, wenn im Zuge des weiteren Programmcodes ein Fenster geöffnet oder geschlossen wird - auch nur Zufall?
Warum??
danke im voraus
Ich hoffe, irgendwer kann mir auch diesmal wieder helfen. Die Codeteile sollen einen busy indicator in einer GUI darstellen. Leider funkt's nicht so, wie ich mir das gedacht habe. Manchmal funktioniert's, dass busy dargestellt wird, aber ein Aurfuf von setIdle/steBusy bewirkt meistens auf der GUI rein gar nix - die Anzeige bleibt auf busy. Wunderbar funktioniert es nur, wenn im Zuge des weiteren Programmcodes ein Fenster geöffnet oder geschlossen wird - auch nur Zufall?
Warum??
Code: Alles auswählen
from Tkinter import *
import time
################################################################################
class StatusFrame(LabelFrame):
def __init__(self, parent, **options):
self.parent = parent
LabelFrame.__init__(
self,
master=self.parent,
bd=1,
#bg="yellow",
relief="sunk",
fg="black",
labelanchor = NE,
height=20,
text = "state information",
width=900)
self.grid(row=0, column=0, sticky="N")
self.busyInd = BusyIndicator(self)
def setState(self, guiMode):
pass
def setBusy(self):
self.busyInd.setBusy()
LabelFrame.configure(self)
def setIdle(self):
self.busyInd.setIdle()
LabelFrame.configure(self)
class BusyIndicator(Checkbutton):
def __init__ (self, parent):
self.parent = parent
self.busyStr = StringVar()
self.busyInd = Checkbutton (
master=self.parent,
variable=self.busyStr,
textvariable=self.busyStr,
state="disabled",
indicatoron=0,
bg="red", selectcolor="green",
offvalue="Busy", onvalue="Idle")
self.busyInd.grid(row=0, column=0)
self.busyInd.select()
def setBusy(self):
self.busyInd.deselect()
self.busyInd.configure()
def setIdle(self):
self.busyInd.select()
self.busyInd.configure()