我试图实现的是,如果用户正在编辑我的表单中的特定字段(使用QT Designer设计),背景颜色应变成例如变成红色。以编程方式我可以为一个字段做,但是,我有很多QLineEdits和QComboBoxes。是否有可能同时为选定数量的元素执行此操作?这也可以仅通过QT Designer完成吗?
提前感谢您的帮助!
干杯,
本
答案 0 :(得分: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("")