【问题标题】:how to make python3.3 gui window fixed sizes?如何使python3.3 gui窗口固定大小?
【发布时间】:2013-05-30 03:19:55
【问题描述】:

至于提到的问题,我找不到任何可以修复 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'

【问题讨论】:

  • 确定要指定尺寸吗?绝大多数 GUI 在允许它们的自然大小时会更好。或者,您只是在尝试?

标签: python user-interface tkinter python-3.3


【解决方案1】:

您似乎无法在构造函数中设置 Tk 元素的宽度和高度。但是,您可以使用geometry 方法:

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

【讨论】:

  • 您好,它适用于调整主窗口的大小,但是如何定位小部件? .place 似乎也不起作用。
  • @user2294001 不要在同一个窗口中使用不同的几何管理器(packplace)。如果你有一个简单的布局,pack 加上适当的填充可能就足够了。
【解决方案2】:

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

top = tkinter.Tk()
top.minsize(width=300, height=300)
top.maxsize(width=300, height=300)

【讨论】:

    【解决方案3】:

    正确的方法是在你的窗口声明之后写下这一行:

    {yourwindow}.resizable(width = False, height = False)

    来源: https://www.youtube.com/watch?v=SVW0ofsBKCU

    【讨论】:

      【解决方案4】:

      您可以使用调整大小的功能。

      root = Tk()
      root.title('TITLE')
      root.resizable(0, 0)
      

      【讨论】:

        猜你喜欢
        • 2019-03-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-06
        • 2012-12-13
        • 1970-01-01
        • 2015-03-31
        相关资源
        最近更新 更多