我在输入表单上有一个可编辑的组合框,当获得焦点时,背景必须更改。以下代码适用于QLineEdit,但对QComboBox没有影响。
QLineEdit, QComboBox { background-color: green; }
QLineEdit:focus, QComboBox:focus { background-color: red; }
是否可以像QLineEdit 一样使用Qt样式表使QComboBox按预期运行?
答案 0 :(得分:0)
您可能需要通过继承QLineEdit并将其安装到组合框(使用QComboBox::setLineEdit()
)来完成此操作。然后,覆盖QLineEdit的focusIn()和focusOut()函数,并在这些函数中设置具有适当背景颜色的样式表。
另一种方法是在组合框上安装事件处理程序(和/或其关联的QLineEdit)并捕获焦点进/出事件,然后更改样式表。