我在python tkinter中遇到了一个问题,要检测check按钮的按压情况!我有一个变量 点击 我希望如果我的按钮被点击,那么它就变成True,例如:这是我的代码。
buttonClicked=False
myButton=Button()
我想要这样的东西。
if myButton is pressed:
buttonClicked=True
谢谢你的帮助!
我不知道有什么内部的tkinter方法可以检查按钮是否被按下。
然而你可以将Button与一个改变全局变量值的函数连接起来,就像下面这样。
from Tkinter import *
master = Tk()
def callback():
global buttonClicked
buttonClicked = not buttonClicked
buttonClicked = False # Bfore first click
b = Button(master, text="Smth", command=callback)
b.pack()
mainloop()
这段代码,将变量的值从 False
到 True
(或反过来)每次按下按钮。
我认为你可以做一个函数来改变buttonClicked的值,当按钮被点击时,它就会执行该函数(其唯一的目的是改变buttonClicked的值)。
完整的代码可以如下。
from tkinter import *
buttonClicked = False
def changeValue():
if buttonClicked:
buttonClicked=False
if not buttonClicked:
buttonClicked=True
tk = Tk()
btn = Button(tk, text="Put whatever text you want here, to tell the person what pressing the button will do", command=changeValue())
btn.pack()
如果这个答案有帮助,我会很感激你告诉我!:).
这是一个经过修改的版本,有一个改变buttonClicked值的逻辑循环。在代码的 "if not buttonClicked: "部分,你可以改成 "else: "语句。@
试试这个
from tkinter import *
value = 1
def change_value():
global value
value -= 1
if value == 0:
print("button pressed")
value = 1
else:
pass
tk = Tk()
btn = Button(tk, text="your_text", command=change_value)
btn.pack()