使用 CheckButton 激活或停用按钮

Posted

技术标签:

【中文标题】使用 CheckButton 激活或停用按钮【英文标题】:Activate or deactivate button with CheckButton 【发布时间】:2020-09-10 11:04:53 【问题描述】:

我创建了这个程序,但我想要按钮“按钮”(第一部分) 如果我们不选择 checkButton(第二部分),将被停用。所以我想只有在选中 CheckButton 时才激活按钮。

acceptButton = IntVar()
case = Checkbutton(fenetre, text="I accept the agreement", variable=acceptButton, cursor="hand2", bg="white",)
case.pack()
var = case.select() == 1

doNotButton = IntVar()
case2 = Checkbutton(fenetre, text="I do not accept the agreement", variable=doNotButton, bg="white", state=DISABLED) #il est impossible de cocher cette case
case2.pack()

按钮:

button = Button(fenetre, text="Suivant", command=commandSuiv, cursor="hand2", height=1, width = 15) #taille
button.pack()
button.place(x=c, y=d)
button.configure(font=f)

非常感谢 :)

【问题讨论】:

致敬安东宁!请按照我们关于how to ask? 的指南中的说明将您的问题更改为英语。通过这种方式,社区中的更多人可以联系到您的问题。谢谢! 阅读When to use the Radiobutton Widget 【参考方案1】:

您可以先检查 CheckButton 变量,然后相应地设置 Button 的状态:

if acceptButton.get() == 0: # Your binded var returns 0 if unchecked, 1 otherwise
    button.config(state="disabled")

您也可以通过默认禁用按钮来反转该过程,它可能会更优雅:

button = Button(fenetre, text="Suivant", command=commandSuiv, cursor="hand2", height=1, width = 15, state=DISABLED) #taille

然后启用它,它将是:

if acceptButton.get() == 1:
    button.config(state="normal")

【讨论】:

如果没有来自Checkbutton<IntVar ref>.trace(... 的回调,您的示例将无法运行。 谢谢你.. 但不工作:/ 如果我写 var = case.select() == 1 很好。所以如果我取消选择,按钮不会改变。

以上是关于使用 CheckButton 激活或停用按钮的主要内容,如果未能解决你的问题,请参考以下文章

激活和停用 textInput

允许管理员激活或停用用户——Rails

是否有可能停用 SwiftUI 中的按钮?

从 ggplot2 转换为 plotly 后激活或停用图例键时绘图缩小或扩展

Arduino 键盘 4x4 到 LCD 激活/停用(家庭安全系统)

Vuejs IF 语句