Tkinter - changing existing Dialog?

John McMonagle jmcmonagle at velseis.com.au
Thu Jun 1 18:30:56 EDT 2006


On Thu, 2006-06-01 at 08:31 -0400, Michael Yanowitz wrote:
> Hello:
> 
> 
>    I have a Tkinter GUI Dialog with many buttons and labels and text
> widgets.
> What I would like to do is, can I:
> 
> 1) Disable/deactivate/hide a button, text widget that is already drawn (and
>    of course the opposite enable/activate/show it)?
> 
> 2) Change the text of a label or button that is already drawn?
> 
>   based on actions taken by the user. Can it be done without destroying
> the present dialog or the objects in it and creating a new one?
> 
>   Sorry for what probably is such a trivial and basic question. I just can't
> find the answer or know what the technical term for what I want to do is to
> search for it myself.

To disable/deactivate a button widget, use the keyword 'state'.  For
example, 


import Tkinter as Tk
root = Tk.Tk()
bid = Tk.Button(root, text='test', state=Tk.NORMAL)
bid.pack()
bid.configure(state=Tk.DISABLED)

If you want to hide the button (using Pack geometry manager):

bid.pack_forget()

You can pack it again using bid.pack() but it may be difficult to pack
it back where you originally intended.

If you are using the Grid geometry manager:

bid.grid_forget()

To put it back simply call grid again with the same row, column.



Changing the text of a label or button already drawn is simply done by a
call to the configure method on the button or label's text attribute:

bid.configure(text='Help')

Regards,

John







-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.




More information about the Python-list mailing list