wasm-demo/demo/ermis-f/python_m/cur/0400

53 lines
1.6 KiB
Plaintext

From: fredrik at pythonware.com (Fredrik Lundh)
Date: Tue, 20 Apr 1999 10:01:02 GMT
Subject: Tkinter: some Labels not updating
References: <7fhdqo$dnl$1@agate.berkeley.edu>
Message-ID: <00b901be8b14$b45097e0$f29b12c2@pythonware.com>
Content-Length: 1341
X-UID: 400
python at pinky.cchem.berkeley.edu wrote:
> My Tkinter window has a Canvas with a bitmap image in one Frame,
> pull down menus in another Frame, and a few Buttons and Labels. The
> Labels are supposed to indicate the values of certain variables which
> change when the user clicks on the canvas. The first Label changes,
> but the others don't, they stay fixed at the values they had when
> I created the Label.
>
> Is there a trick here or something I don't get?
>
> I first create the StringVar:
>
> self.X1v=StringVar()
>
> Then I initialize X1v:
>
> self.X1v.set("X1: not entered")
>
> Then I make a Label object
>
> self.l1=Label(tb, textvariable=self.X1v)
> self.l1.pack(side=TOP)
>
> Then in the mouse callback (yes, it gets run, I have it print to stdout)
>
> self.X1v.set("X1: Got It")
>
> But no update of the text in the label happens. Updates _do_ happen
> in another Label object that is in a Frame by itself. Do I need a
> separate Frame for each Label? Do I have too many Label objects?
as far as I can tell, your program should work. which means that
there's probably something you forgot to tell us. try to make a
small but complete program that illustrates the problem.
(btw, if nothing else helps, you could skip the textvariables and
use self.l1.config(text="X1: Got it") instead...)
</F>