QComboBox:焦点Qt样式表

时间:2013-02-08 18:55:01

标签: qt qcombobox

我在输入表单上有一个可编辑的组合框,当获得焦点时,背景必须更改。以下代码适用于QLineEdit,但对QComboBox没有影响。

QLineEdit, QComboBox { background-color: green; }
QLineEdit:focus, QComboBox:focus { background-color: red; }

是否可以像QLineEdit 一样使用Qt样式表使QComboBox按预期运行?

1 个答案:

答案 0 :(得分:0)

您可能需要通过继承QLineEdit并将其安装到组合框(使用QComboBox::setLineEdit())来完成此操作。然后,覆盖QLineEdit的focusIn()和focusOut()函数,并在这些函数中设置具有适当背景颜色的样式表。

另一种方法是在组合框上安装事件处理程序(和/或其关联的QLineEdit)并捕获焦点进/出事件,然后更改样式表。