473,729 Members | 2,136 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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 <mi*********@gm ail.com>
http://pythonwise.blogspot.com
Mar 11 '08 #1
4 4815
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
Mar 11 '08 #2
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 <mi*********@gm ail.com>
http://pythonwise.blogspot.com
Mar 11 '08 #3
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
Mar 11 '08 #4
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).pa ck(fill=tk.X)
frame = tk.Frame(root)
scrollbar = tk.Scrollbar(fr ame)
scrollbar.pack( side=tk.RIGHT, fill=tk.Y)
log = tk.Text(frame, width=80)
log.config(stat e=tk.DISABLED)
log.pack(side=t k.LEFT, fill=tk.BOTH, expand=1)
scrollbar.confi g(command=log.y view)
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(sid e=tk.LEFT)
tk.Button(frame , text="Quit",
command=root.qu it).pack(side=t k.LEFT)
frame.pack(fill =tk.X)
root.bind("<Esc ape>", 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 <mi*********@gm ail.com>
http://pythonwise.blogspot.com
Mar 12 '08 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
2955
by: Harry Pehkonen | last post by:
While setting up some unit tests, I came to the conclusion that a Tkinter Text widget can never be empty, but will always (?) contain a \n. Here is a brief example: >>> import Tkinter >>> t = Tkinter.Text() >>> t.get(0.0, Tkinter.END) '\n' >>> t.delete(0.0, Tkinter.END) >>> t.get(0.0, Tkinter.END)
1
2251
by: Pekka Niiranen | last post by:
Hi there, after reading TkInter/thread -recipe: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/82965 I wondered if it was possible to avoid using threads for the following problem: I have script started from W2K console that normally prints ascii messages to the screen. However, I have command line "debug" -flag that might cause printing
2
2950
by: Tonino | last post by:
Hi, I have a small Tkinter app that gets data from a socket connection to a "server". The app has a Text() widget to display the info that it gets from the socket connection. I have the ability to stop the text at any point. What I want to be able todo is select a line from the Text() window and double click or whatever on it to open a new window with that selected text as a paramater to the new window.
8
11372
by: James Stroud | last post by:
Hello All, I would like for a tkinter text widget to be aware of how big the frame that contains it is, then I would like for it to reset its width to the appropriate number of characters when this frame changes size. I can get a cget("width") for the text, but this does not dynamically reflect the visible width. One way I can think of is getting the size of the font used in the widget then
4
1963
by: Edward K. Ream | last post by:
Hello all, Creating a 'Help' menu 'by hand' on the Mac does not work, or rather, it creates a *second* Help menu. There are hints about how to do this at:
1
3660
by: Kevin Walzer | last post by:
I'm trying to toggle the visibility of a Tkinter widget using pack_forget(), and I'm running into unexpected behavior. The widget "hides" correctly, but does not become visible again. My sample code is below: ---- from Tkinter import * root = Tk()
4
2169
by: MartinRinehart | last post by:
Everything I've read about Tkinter says you create your window and then call its mainloop() method. But that's not really true. This is enough to launch a default window from the console: Google's great, but it has no truth meter. Do I inherit from Frame? Or is that a big mistake. (Both positions repeated frequently.) Do I use Tk() or toplevel()? (Support for both and if a cogent explanation of the differences exists, I didn't find it.)
4
5598
by: Mudcat | last post by:
I've tried quite a few things to get this correct but have hit a couple of sticking points that I can't figure out. I need to ge the Text box to function like the 'wraplength' option in a Label. I've been able to adjust the height of the text by calculating the number of lines needed to display the text. That's fairly simple. I know the number of characters in the text and width of the box (which is static). From that point I can...
0
1806
by: Guilherme Polo | last post by:
On 10/29/08, Olrik Lenstra <o.lenstra@gmail.comwrote: It will be a combination of commands, not a single one. Initially I considered this as "probably without solution", since tcl acquired a yield command just in the 8.6a3 release, but then I looked at wx.SafeYield code and apparently it is possible to replicate it. Here is an initial cut, it is very possible to contain something not equivalent to wx.SafeYield (besides it could be...
0
8925
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9428
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9154
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
6722
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6026
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4531
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4797
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3240
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
2166
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.