我已经开始学习python gui.Button函数调用不会更新全局变量。目前,我在以下代码中遇到问题。
from tkinter import *
root=Tk()
root.title("learning")
s=""
def change() :
global str
str="program"
button1=Button(root,text="Click me", command=change).pack()
print(s)
root.mainloop()
str
的值不会更新。
s =“”
def change():
global s
s="program"
change()
打印
这里的s的值被打印出来,而使用tkinter的值为空白。
答案 0 :(得分:0)
尝试一下:
cls.operator
尝试执行此操作:
from tkinter import *
root=Tk()
root.title("learning")
x=""
def change() :
global x
x="program"
print(x)
def prt():
global x
print(x)
Button(root,text="Click me", command=change).pack()
Button(root,text="Print x", command=prt).pack()
root.mainloop()
print(x)
-Click Me
更改为程序 另一个错误-x
是button1
,因为您在同一行上使用过None
。因此,如果您想在前面的代码中使用.pack
,请将其用作:
button1
答案 1 :(得分:0)
尝试一下:
from tkinter import *
def change():
global str
str="program"
print(str) # print function should be placed here
root=Tk()
root.title("learning")
root.geometry("300x300")
str=""
button1=Button(root,text="Click me", command=change).pack()
root.mainloop()
单击按钮时,将立即调用change()函数,因此应将打印功能放置在change()