【发布时间】:2020-10-11 20:47:33
【问题描述】:
我目前正在玩蛇游戏,但我首先希望显示一个设置窗口。我为此使用了 tkinter。在较小的项目中,我只是将所有代码都写到了 pressButton 函数中,但是我现在想要非意大利面条代码,所以我不这样做。问题是,我不知道如何将输入括号中的输入值作为全局变量从 pressButton 函数和 settingsWin 函数中获取到我的主代码中。问题是我将该函数用作按钮的命令,所以我不能使用“return”。您可以直接从函数内部更改主代码中的全局变量吗?如果是怎么办?还是有其他方法可以解决这个问题? 我的代码:
def settingsWin():
def pressButton():
len = entryLen.get()
wid = entryWid.get()
speed = entrySpeed.get()
print(len+wid+speed)
SettingsWin.destroy()
return len
SettingsWin = Tk()
SettingsWin.geometry("600x600")
SettingsWin.title("Settings")
label1 = Label(SettingsWin, text="playing field [tiles]")
label1.pack()
entryLen = Entry(SettingsWin, bd=2, width=20)
entryLen.pack()
label2 = Label(SettingsWin, text="X")
label2.pack()
entryWid = Entry(SettingsWin, bd=2, width=20)
entryWid.pack()
labelblanc = Label(SettingsWin, text="")
labelblanc.pack()
label3 = Label(SettingsWin, text="Speed [ms per tick]")
label3.pack()
entrySpeed = Entry(SettingsWin, bd=2, width="20")
entrySpeed.pack()
okButton = Button(SettingsWin, text="OK", command=pressButton)
okButton.pack()
SettingsWin.mainloop()
len = "len"
wid = "wid"
speed = "speed"
【问题讨论】:
-
您可以使用标准的 python 文档来回答这个问题。 docs.python.org/3/faq/… 和 docs.python.org/3/reference/simple_stmts.html#global
-
你只需要定义一个变量为
global x = 1,你可以在函数内将它更改为global x=3 -
在函数
presssButton()里面说global len, wid, speed有什么问题?
标签: python button tkinter command tk