在Tkinter中设置窗口尺寸,Python 3

3 投票
2 回答
5037 浏览
提问于 2025-04-20 01:33

我之前做过很多Tkinter的Python应用,但从来没有遇到过这个问题:

在Python 3中,如何设置Tkinter初始(根)窗口的大小呢?

我看到过这个问题,里面讲的是Python 2.7的解决办法,但Tkinter在Python 3中更新了,所以那个方法不管用了。

这是让我头疼的代码:

class Application(tk.Frame):    
    def __init__(self, master=None):
        tk.Frame.__init__(self,master)
        self.grid()
        self.createWidgets()
        master.minsize(width=500,height=500)

app = Application()
app.master.title("MFPA")
app.mainloop()

这里的master.minsize()这一行是从那个问题里来的,但因为我的master对象是None,所以这个方法不存在。

那里的第二个解决方案也不行,因为它依赖于先调用tk.Tk()方法,而我现在用的是更新后的Tkinter和新的窗口创建方法。

2 个回答

0

你可以使用:

self.geometry("500x500")
5

调用 tk.Frame.__init__ 时,它会自动帮你找到主窗口,并把这个主窗口的引用存储到对象的一个属性里。你可以试试这样做:

    self.master.minsize(width=500,height=500)

撰写回答