如何解决如何使按钮更改变量的值? Python Tkinter
我有这个代码:
class Zfraction{
public:
friend std::ostream& operator<<(std::ostream& display,Zfraction const& b);
}
但是std::ostream& Zfraction::operator<<(std::ostream &display,Zfraction const& b){
}
仍为from tkinter import *
root = Tk()
variableToChange = "Something else"
button = Button(root,text="change a variable",command="variableToChange=something")
print(variableToChange)
。
经过一些调试后,我发现该按钮在函数结束后运行。我可能是错的。
有修复程序吗?
解决方法
您可以定义一个函数来更改变量,像这样-
import tkinter
root = tkinter.Tk()
variableToChange = "Something else"
def ChangeVar(string):
global variableToChange
variableToChange = string
def stringP():
ChangeVar('Noice')
print(variableToChange)
button = tkinter.Button(root,text="change a variable",command = stringP)
button.pack()
PS-不要使用from tkinter import *
并不是一个好主意。
您需要这样定义一个函数(也许我不太好)
def changeVar():
VariableToChange ="Something"
因此代码变为:
def changeVar():
VariableToChange ="Something"
print(VariableToChange)
from tkinter import *
Root=Tk()
VariableToChange = "Something Else"
Button = Button(text="Change the Variable",command=changeVar)
button.pack()
root.mainloop()
请确保不要在此类函数之后使用()
Button(command=changeVar())
除了它之外,它不会像您一样运行 同样,执行command =时不要使用() 否则会报错
我希望我的建议有用。
,Tkinter.Button具有命令参数,您可以在其中放置要运行的函数。
像这样:
from tkinter import *
variableToChange = "Something else"
def ChangeValue():
global variableToChange
variableToChange = "New value"
root = Tk()
button = Button(root,command=ChangeValue).pack(padx=10,pady=10)
root.mainloop()
print(variableToChange)
在这里,当您按下按钮时,变量的值将被更改,而当您关闭应用程序时,该值将被打印到终端上。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。