Tkinter, Trouble with Message,Label widget
norseman at hughes.net
Mon May 4 01:13:32 CEST 2009
Two Tkinter windows.
W1 is complex, user interacts with program from here ONLY
W2 is for display only, NO user interactions
I can get info to W2.
But to get it to update I first have to manually kill it.
Program does create both. Both terminate when programs says.
I want to post 'verbal' (text) progress reports to W2 and I want it to
self update at posting. (Or at least appear to do so to the user.) If a
control sequence is changed, the posting is to reflect it. As long as I
manually kill it, everything works fine, but I get:
1) finger cramps
2) quite uhhh... 'unhappy' at the stupidity requiring that...
There has to be some way of using a Message or Label (or some) widget as
a simple posting board.
I have been using the python print statement (via what Windows calls a
Command Window) quite nicely in Linux. Under Linux only I would be
content to go that route. Unfortunately the program also has to work in
MicroSoft. And Microsoft has much to much of the old dinosaur age still
Why the posting board?
1) It posts for visual inspection the current controls chosen.
A tally, a synopsis of the current choice pattern.
2) It remains visible while the control panel vanishes to give
the user the full screen to conduct the rest of the human
interface with vendor's product. It reminds the user of
what is to happen next.
3) On re-display of main control screen the posting again
functions as in 1) above. Thus serving as a reminder of
"What I did last", because it does not change until a
button is pressed, as well as "What I'm about to do."
This can't be the first time someone has needed this. But I have not
found (probably just plain missed) it in all Tkinter references I have
been able to find.
I have tried:
p="string with formatting, variables and new lines"
... Label(root, textvar= '%s%s...' % p[:],
and a number of other things and either it fails completely, looks
horrible or generates lots of horrible messages telling me it don't like
me because I'm not allowed to do that. :)
print '%s%s%...' % p[:] works in any "Command Window", Linux or MS
The ...Label(... text= '%s%s%...' % p[:], ....
works if I manually destroy the posting window to get each update.
I think I need a way to generate the W2 and exit leaving it visible.
Question is HOW? Or what is needed to effect the same?
Then the update can destroy old one and put up new one.
ANY help is appreciated.
Using: Python 2.5.2, Linux Slackware 10.2
Snippets: non functional, for clarifying only
More information about the Python-list