Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > How to make a Tkinter widget always visible?

Reply
Thread Tools

How to make a Tkinter widget always visible?

 
 
Miki
Guest
Posts: n/a
 
      03-11-2008
Hello,

I have a simple Tkinter window with [GO] and [Quit] buttons at the
bottom.

When I resize the window to be shorter, the first thing to disappear
are the buttons, however I want these button to be visible at all
times.

Is there a way to make sure that these buttons are always visible?

Thanks,
--
Miki <(E-Mail Removed)>
http://pythonwise.blogspot.com
 
Reply With Quote
 
 
 
 
Kevin Walzer
Guest
Posts: n/a
 
      03-11-2008
Miki wrote:
> Hello,
>
> I have a simple Tkinter window with [GO] and [Quit] buttons at the
> bottom.
>
> When I resize the window to be shorter, the first thing to disappear
> are the buttons, however I want these button to be visible at all
> times.
>
> Is there a way to make sure that these buttons are always visible?
>


There are various ways to do this: you can set the window to be
non-resizable, or set a minimum size to it, so that it can't be resized
below that level. However, if you allow arbitrary resizing of the
window, there's no real way to guarantee that the widgets will be
visible at all times.

--
Kevin Walzer
Code by Kevin
http://www.codebykevin.com
 
Reply With Quote
 
 
 
 
Miki
Guest
Posts: n/a
 
      03-11-2008
Hello Kevin,

> > Is there a way to make sure that these buttons are always visible?

>
> There are various ways to do this: you can set the window to be
> non-resizable, or set a minimum size to it, so that it can't be resized
> below that level. However, if you allow arbitrary resizing of the
> window, there's no real way to guarantee that the widgets will be
> visible at all times.

Thanks.

I've set a minimal size to the window. However when I resize it to be
shorter, the buttons are hidden while the top frame stays visible.

Thanks,
--
Miki <(E-Mail Removed)>
http://pythonwise.blogspot.com
 
Reply With Quote
 
Kevin Walzer
Guest
Posts: n/a
 
      03-11-2008
Miki wrote:
> Hello Kevin,
>
>>> Is there a way to make sure that these buttons are always visible?

>> There are various ways to do this: you can set the window to be
>> non-resizable, or set a minimum size to it, so that it can't be resized
>> below that level. However, if you allow arbitrary resizing of the
>> window, there's no real way to guarantee that the widgets will be
>> visible at all times.

> Thanks.
>
> I've set a minimal size to the window. However when I resize it to be
> shorter, the buttons are hidden while the top frame stays visible.
>


Please post the code you're using--it will be easier to help if we can
see exactly what you are trying.

--K

--
Kevin Walzer
Code by Kevin
http://www.codebykevin.com
 
Reply With Quote
 
Miki
Guest
Posts: n/a
 
      03-12-2008
Hello Kevin,

> Please post the code you're using--it will be easier to help if we can
> see exactly what you are trying.

In a nutshell:
-------------------------------
import Tkinter as tk, tkFont
from tkMessageBox import showinfo, showerror
from os import popen


def main():
root = tk.Tk()

# Log window
tk.Label(root, text="Log:", anchor=tk.W).pack(fill=tk.X)
frame = tk.Frame(root)
scrollbar = tk.Scrollbar(frame)
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
log = tk.Text(frame, width=80)
log.config(state=tk.DISABLED)
log.pack(side=tk.LEFT, fill=tk.BOTH, expand=1)
scrollbar.config(command=log.yview)
frame.pack(fill=tk.BOTH, expand=1)

# Button frame
frame = tk.Frame(root)
update = tk.Button(frame, text="GO", command=lambda:
showinfo("OUCH"))
update.pack(side=tk.LEFT)
tk.Button(frame, text="Quit",
command=root.quit).pack(side=tk.LEFT)
frame.pack(fill=tk.X)


root.bind("<Escape>", lambda e: root.quit())
update.focus()
root.minsize(-1, 100)
root.mainloop()

if __name__ == "__main__":
main()
-------------------------------
When I pack the buttons frame first (using side=BOTTOM), it stays
visible at all times.

Thanks,
--
Miki <(E-Mail Removed)>
http://pythonwise.blogspot.com
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: How include a large array? Edward A. Falk C Programming 1 04-04-2013 08:07 PM
Re: Tkinter.event.widget: handler gets name instead of widget. Terry Reedy Python 15 07-16-2012 10:32 AM
Re: Tkinter.event.widget: handler gets name instead of widget. Frederic Rentsch Python 0 07-09-2012 08:39 PM
Tkinter.event.widget: handler gets name instead of widget. Frederic Rentsch Python 0 07-08-2012 09:19 PM
Re: [Tkinter-discuss] Please help -- Tkinter Scale widget withDoubleVar is acting weird Jeff Epler Python 0 08-20-2004 12:07 PM



Advertisments