python - 带有附加命令的 Tkinter 复选框

标签 python checkbox tkinter

我想要一些简单的帮助:一个 tkinter 复选框,确实附加了一个命令 <--这个简单的示例总是被提及,但从未在教程中显示网络。

我有:

from tkinter import *

def activateMotors(active):
    scale.config(state=active)


root = Tk()
root.wm_title('Servo Control')
motorsOn= IntVar()
motorsCheck=Checkbutton(root,text="Motors ON(checked)/OFF(unchecked)", variable=motorsOn, command=activateMotors)
motorsCheck.pack()
scale = Scale(root, from_=0, to=180, 
              orient=HORIZONTAL,label="Motor #",state=DISABLED)
scale.pack()
root.mainloop()

这不起作用。当然,窗口会出现,但是当我单击复选框时,我收到“TypeError activateMotors() Missing 1 requiredpositional argument 'active'”

任何人都可以纠正这个问题,以便我们可以拥有一个带有命令的操作复选框示例吗?

最佳答案

回调不能有参数,我们必须使用IntVarget()函数

from tkinter import *

def activateMotors():
    if motorsOn.get() == 1:
        scale.config(state=ACTIVE)
    elif motorsOn.get() == 0:
        scale.config(state=DISABLED)


root = Tk()
root.wm_title('Servo Control')
motorsOn= IntVar()
motorsCheck=Checkbutton(root, 
    text="Motors ON(checked)/OFF(unchecked)", 
    variable=motorsOn, 
    command=activateMotors)
motorsCheck.pack()

scale = Scale(root, from_=0, to=180, 
              orient=HORIZONTAL,label="Motor #",state=DISABLED)
scale.pack()
root.mainloop()

关于python - 带有附加命令的 Tkinter 复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43082390/

相关文章:

python - 如何从终端打开带有相应应用程序的文件?

python - 我如何跟踪特定帖子的链接并从该帖子中抓取数据

python - 我使用 DHT 计算卷积的代码有什么问题?

ios - 如何在 iOS 中创建一个简单的复选框?

android - 设置复选框列表对话框的复选框

javascript - 复选框列表不适用于下拉选择

python - 在 Python 中查找包导入的第一个实例

python - 使用 tkinter 获取多行(域名)

python - 使用 Python 进行多峰数据拟合

python - 像在 MATLAB 中一样在 Python 中连接矩阵/向量?