0

我试图实现的是,如果用户正在编辑我的表单中的特定字段(使用 QT Designer 设计),则背景颜色应该变成例如红色。以编程方式,我可以为一个领域做到这一点,但是,我有很多 QLineEdits 和 QComboBoxes。是否有可能一次对选定数量的元素执行此操作?这也可以仅使用 QT Designer 完成吗?

在此先感谢您的帮助!

干杯,

4

1 回答 1

1

只需将lineEdit 控件的信号textChanged连接到插槽即可。然后根据需要使该插槽更改控件样式表。

例子:

yourControl.textChanged.connect(onEdit_slot)

然后定义像这样的插槽

def onEdit_slot():
    sender().setStyleSheet("background-color: rgba(255, 254, 134, 150);")

PS:请记住,样式表在您更改之前将保持不变,因此在编辑和失去焦点后,您的控件将保持红色背景。要将它改回来,只需将控件的editingFinished信号连接到另一个插槽并重置样式表

例子:

yourControl.editingFinished.connect(onFinishedEditing_slot)

然后定义插槽,如:

def onFinishedEditing_slot():
    sender().setStyleSheet("")
于 2013-06-11T15:06:08.700 回答