![]() |
How to make a Tkinter widget always visible?
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 <miki.tebeka@gmail.com> http://pythonwise.blogspot.com |
Re: How to make a Tkinter widget always visible?
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 |
Re: How to make a Tkinter widget always visible?
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 <miki.tebeka@gmail.com> http://pythonwise.blogspot.com |
Re: How to make a Tkinter widget always visible?
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 |
Re: How to make a Tkinter widget always visible?
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 <miki.tebeka@gmail.com> http://pythonwise.blogspot.com |
| All times are GMT. The time now is 12:56 PM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.