- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我这里有一个简单的 GUI,它会根据复选按钮是否被选中返回一个 bool 值。我已将 bool 变量设置为 False,因此设置了空的复选按钮。我不明白的是,当我检查按钮时,绑定(bind)到该小部件的函数返回 False 而不是 True。这是为什么?
这是代码...
from tkinter import *
from tkinter import ttk
def getBool(event):
print(boolvar.get())
root = Tk()
boolvar = BooleanVar()
boolvar.set(False)
cb = Checkbutton(root, text = "Check Me", variable = boolvar)
cb.bind("<Button-1>", getBool)
cb.pack()
root.mainloop()
当检查空按钮时,函数输出...
False
既然选中了按钮,它不应该返回 True
吗?
最佳答案
boolean 值在绑定(bind)回调完成后改变。举个例子,看看这个:
from tkinter import *
def getBool(event):
print(boolvar.get())
root = Tk()
boolvar = BooleanVar()
boolvar.set(False)
boolvar.trace('w', lambda *_: print("The value was changed"))
cb = Checkbutton(root, text = "Check Me", variable = boolvar)
cb.bind("<Button-1>", getBool)
cb.pack()
root.mainloop()
当你按下 Checkbutton 时,第一个输出是 False
然后是 "The value was changed"
,这意味着在 getBool 之后值被改变了
回调完成。
你应该做的是使用 command
参数来设置回调,看:
from tkinter import *
def getBool(): # get rid of the event argument
print(boolvar.get())
root = Tk()
boolvar = BooleanVar()
boolvar.set(False)
boolvar.trace('w', lambda *_: print("The value was changed"))
cb = Checkbutton(root, text = "Check Me", variable = boolvar, command = getBool)
cb.pack()
root.mainloop()
输出首先是 "The value was changed"
然后是 True
。
在我的示例中,我使用了 boolvar.trace
,它会在 bool 值更改 ('w'
) 时运行 lambda 回调
关于python - tkinter Checkbutton 小部件返回错误的 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43970664/
我是 tkinter 的新手,在使用 checkButton() 时遇到了问题。我想要它,这样当我检查“按钮 3”时,“按钮 1”和“按钮 2”也会被检查。到目前为止,这是我的代码。我看了这个问题:C
Python Checkbutton 仅读取一次值 我在 StackOverflow 中查找过类似的问题,但唯一看起来相似的是 here 。它建议在这种情况下应该将变量设置为全局,但我认为这不是一个好
我想要一个 tkinter checkbutton,它基本上有我自己的打开和关闭图像,所以不是默认的 checkbutton。我在互联网上搜索了解决方案,但找不到任何东西。我认为 ttk 样式可能是可
所以我有一个黑白图形用户界面,我需要使用复选框,我设置了它,复选框看起来没问题,直到我单击它,然后突然间复选标记不会停留在我单击之后。问题来自开始更改按钮颜色的行。但我需要这个配色方案,但我也需要能够
我对这里的(可能)范围有很大的疑问,但我看不透它。 我想让我自己的经过 css 修改的 tooglebuttons 的行为方式与其他按钮一样,我已经尝试从该站点采用它: http://jsfiddle
我有两个非常简单的复选按钮,我将它们的变量保存在一个列表 (varss) 中,还有一个按钮。但我不明白为什么当我调用 var_states(通过按下按钮)时,我无法获得关闭/打开值。任何帮助表示赞赏。
我已经使用 Tkinter 为我的最后一个应用程序创建了一个包含 20 个复选按钮的列表,但是我不知道如何检查 Checkbutton 是否被选中. 如何检查 Checkbutton 是否被选中? 最
是否可以将 PyGTK 的复选按钮的标签设置在左侧而不是默认的右侧,如下例所示? Apple: [x] Orange: [ ] Pear: [x] 最佳答案 没有。您可以通过创建一个继承自 gt
我使用 Checkbuttons 在单击它时获取数据,但我的变量没有改变,我不知道为什么。通常,未单击时它等于 0,按下时等于 1。但它的 react 就像始终没有被按下一样。 def config(
我正在尝试将 Checkbutton 与函数一起使用,my_var 永远不会改变,但它总是调用我的函数。 这里是代码: my_var = False def controllo_carta():
这是我在 Effbot 网站上找到的一个小代码示例,它与我想在我的一个程序中执行的操作很接近: from Tkinter import * fen =Tk() class test_Tk_class:
我使用以下调用创建了一个复选按钮/框 x=ttk.Checkbutton(tab1,state='disabled',command = lambda j=i,x=k: fCheckButton(j,
如何在 python 中获取 Checkbutton 的状态?我有这个: def doSomething(): if #code goes here, if checkbutton is sele
如何获得 Tkinter Checkbutton 的 'state'? 'state' 我的意思是获取它是否有复选标记。 最佳答案 当您创建它时,它需要一个 variable 关键字参数。将 Tkin
我用 frame.winfo_children() 得到了框架的小部件列表。现在我需要获取该复选按钮的值。子列表: [, , , ] 我试过的: checkbuttonwidget.get() , c
我想在右键单击菜单复选按钮时删除它。 它通常用 bind("Mouse3", deletefunction) 完成,但我需要一个复选按钮的实际实例来绑定(bind)它,并且我知道将复选按钮添加到菜单的
我想更改 ttk.Checkbutton 小部件的边框颜色,默认情况下为浅蓝色。我尝试使用 ttk.Style() 的配置功能,并设法在激活时更改整个按钮或其他内容的颜色,但不能更改复选框的边框。另一
我有一个 React 复选框组件。我试图在每次点击时更改状态并根据之前的状态运行一个函数。在 React 上,每次单击按钮时,我都试图将事件返回到 index.js 中的 console.log 函数
我正在尝试启用这些复选框: 进入这些复选框(我将这些称为CheckButtons): 正下方是当前复选框的代码: @foreach (var department in Model.S
我目前正在尝试创建一个 GUI 来比较两个不同文件夹之间的文件,并拥有一个我现在正在尝试构建的基本框架。 我在窗口的左侧、右侧和底部有三个框架,每个框架都有两个复选按钮。我希望能够彼此独立地选择每个复
我是一名优秀的程序员,十分优秀!