首页 > 解决方案 > 如何将一个文件拆分为 2 个小文件 tkinter gui?

问题描述

我有一个名为 ran.py 的文件,其中创建了一个按钮,该按钮应更改主窗口的颜色:

from tkinter import *
import gui
win = Tk()

b = Button(win, command=color)
b.pack()

mainloop()

在一个名为 gui.py 的文件中,我有一个应该更改背景颜色的命令:

win.configure(bg="red")

我尝试了很多事情,但总是失败并出现以下错误: win.configure(bg="red") NameError: name 'win' is not defined 我该如何做才能在单击时更改背景颜色?

标签: python-3.xtkinter

解决方案


我猜你color()里面有一个函数,gui.py如下所示:

def color():
    win.configure(bg='red')

并且command选项b应该如下:

b = Button(win, command=gui.color)

如果是这种情况,您将收到上述错误,因为win它不在gui范围内。

您应该win作为参数传递给color()inside gui.py

def color(win):
    win.configure(bg='red')

然后修改command选项如下:

b = Button(win, command=lambda: gui.color(win))

推荐阅读