2013-05-30 48 views
0

对于所提到的问题,我不能找到可以固定GUI窗口和所有的标签,按钮等位置上的任意代码..如何让python3.3 gui窗口固定大小?

import tkinter 
import tkinter.messagebox 

class Menu: 
    def __init__(self): 

     self.main = tkinter.Tk(height = 200, width = 400) 

     self.position = tkinter.Label(self.main, text = '123',\ 
             bg = 'Purple',\ 
             height = 2, width = 8) 
     self.position.place(height=50, width= 100) 

     self.position.pack() 

     tkinter.mainloop() 

gui = Menu() 

对于这一点,我只能做标签的大小,而不是主窗口的位置和大小。 它给这个错误

Traceback (most recent call last): 
    File "C:\Python33\Saves\Label position.py", line 18, in <module> 
    gui = Menu() 
    File "C:\Python33\Saves\Label position.py", line 7, in __init__ 
    self.main = tkinter.Tk(height = 200, width = 400) 
TypeError: __init__() got an unexpected keyword argument 'height' 
+0

你是否想确定尺寸?绝大多数图形用户界面在被允许成为自然尺寸时效果更好。或者,你只是在试验吗? –

回答

3

它看起来就像你不能设置Tk的元素的宽度和高度,在构造函数中。但是,您可以使用geometry方法:

self.main = tkinter.Tk() 
self.main.geometry("400x200") 
+0

嗨,它适用于主窗口的大小,但我怎么做小部件的位置? .place也似乎不起作用。 – user2294001

+0

@ user2294001不要在同一个窗口中使用不同的几何管理器('pack'和'place')。如果你有一个简单的布局,使用适当的填充的'pack'可能就足够了。 –

1

使用minsizemaxsize方法来设置窗口的大小。以下代码将创建一个固定大小的窗口。当然,你可以跳过其中的一个让你的用户选择在任何一个方向调整窗口的大小。

top = tkinter.Tk() 
top.minsize(width=300, height=300) 
top.maxsize(width=300, height=300) 
相关问题