在 QML 中,如何非显式地切换布尔值?
例如:
无论何时按下按钮,布尔属性都会简单地切换到其其他值。
若为假,则将成真。
如果是真的,它就会变成假的。
答案1
仅使用 JavaScript:
OnClicked {
checkbox.checked = !checkbox.checked
}
答案2
我不知道 QML/Qt 是否有一种神奇的方法,但我通常只使用 python 中的“toggle_it”函数,如下所示:
def toggle_it_cb(the_bool):
the_bool = not the_bool
return the_bool
my_bool = False
my_bool = toggle_it_cb(my_bool)
print(my_bool)
my_bool = toggle_it_cb(my_bool)
print(my_bool)
如果它是一个类属性,那么可以做得更好。无需返回分配等。
几乎每种语言都有一个否定运算符(通常是!()或类似的)。