QML:如何切换布尔值?

QML:如何切换布尔值?

在 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)

如果它是一个类属性,那么可以做得更好。无需返回分配等。

几乎每种语言都有一个否定运算符(通常是!()或类似的)。

相关内容