首页 > 解决方案 > 变量没有在我的函数内部声明?

问题描述

我在'game_window'函数内部创建了变量,'lib_window'但控制台一直说'game_window'未使用局部变量值。我不知道那是什么意思。我的目标是简单地将新窗口与'start_Btn'. 我什'command=lib_window()'至在事情中间。

import tkinter as tk

class windowLib:

    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry('700x500')
        self.root.title('UnLibs')
        self.root['background'] = '#91a8e3'
        self.start_Btn = tk.Button(self.root,
                                   command=lib_window(),
                                   text="PLAY",
                                   foreground="white",
                                   highlightbackground="red",
                                   font=("Helvetica", 40))
        self.welcome_Label = tk.Label(self.root,
                                      text="Welcome to UnLibs",
                                      font=("Helvetica", 50),
                                      bg="#91a8e3",
                                      fg="white")
        self.start_Btn.pack(side="bottom", padx=10, pady=50)
        self.welcome_Label.pack(side="top", padx=0, pady=150)
        self.root.mainloop()

def lib_window():
   
    game_window = tk.Toplevel(windowLib)

windowLib()

标签: pythonbuttontkinter

解决方案


import tkinter as tk

class windowLib:

    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry('700x500')
        self.root.title('UnLibs')
        self.root['background'] = '#91a8e3'
        self.start_Btn = tk.Button(self.root,
                                   command=lib_window(),
                                   text="PLAY",
                                   foreground="white",
                                   highlightbackground="red",
                                   font=("Helvetica", 40))
        self.welcome_Label = tk.Label(self.root,
                                      text="Welcome to UnLibs",
                                      font=("Helvetica", 50),
                                      bg="#91a8e3",
                                      fg="white")
        self.start_Btn.pack(side="bottom", padx=10, pady=50)
        self.welcome_Label.pack(side="top", padx=0, pady=150)
        self.root.mainloop()

        game_window = tk.Toplevel(windowLib)
if __name__ == '__main__':
    windowLib()

这可能有效....


推荐阅读