构造函数tkinter中的难度设置窗口尺寸

时间:2019-07-07 03:59:03

标签: python tkinter

我希望窗口以设定的尺寸(例如600x500)初始化。我很难通过GUI_window类中的构造函数执行此操作。

我尝试将参数width = 600 height = 500输入

tk.Tk.__init__(HERE) 

但是会导致错误:“ init ()获得了意外的关键字参数'width'。” 我也尝试过像这样在初始调用参数中编写它

GUI_window(width = 600, height = 500)

但是我收到了相同的错误消息

tkinter是这样导入的:

import tkinter as tk

这里是发生错误的类,(此块的第2行)

class GUI_window(tk.Tk):
    def __init__(self, *args, **kwargs):

        tk.Tk.__init__(self, *args, **kwargs)

        container = tk.Frame(self)

        container.place(relx = 0, rely = 0, relwidth = 1, relheight = 1)

        self.frames = {}

我在程序结尾用这些行来调用方法。

GUI = GUI_window()
GUI.mainloop()

我希望窗口大小适合我输入的值,但会收到上述错误消息。如何在不出现此错误的情况下以该对象格式将窗口设置为特定大小?

1 个答案:

答案 0 :(得分:1)

要设置窗口大小,您必须使用

 GUI.geometry("600x500")

或在构造函数内部

self.geometry("600x500")

import tkinter as tk

class GUI_window(tk.Tk):
    def __init__(self, *args, **kwargs):

        tk.Tk.__init__(self, *args, **kwargs)

        self.geometry("600x500")

        container = tk.Frame(self)

        container.place(relx = 0, rely = 0, relwidth = 1, relheight = 1)

        self.frames = {}

GUI = GUI_window()
GUI.mainloop()

您可以在构造函数中发送

GUI_window(width=600, height=500) 

但是稍后您必须在width中使用height之前从**kwargs中删除**kwargstk.Tk.__init__(self, *args, **kwargs)


编辑:版本,该版本使用width=600, height=500,而kwargs则没有问题。如果您要使用不带__init__的{​​{1}},则需要GUI_window()中的默认值。

width=600, height=500