Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   How to make a Tkinter widget always visible? (http://www.velocityreviews.com/forums/t597811-how-to-make-a-tkinter-widget-always-visible.html)

Miki 03-11-2008 05:11 PM

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

Kevin Walzer 03-11-2008 05:57 PM

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

Miki 03-11-2008 07:06 PM

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

Kevin Walzer 03-11-2008 07:08 PM

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

Miki 03-12-2008 10:34 PM

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.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57