Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在输入表单上有一个可编辑的组合框,当它获得焦点时,它的背景必须改变。以下代码适用于 QLineEdit,但对 QComboBox 没有影响。
QLineEdit, QComboBox { background-color: green; } QLineEdit:focus, QComboBox:focus { background-color: red; }
是否可以仅使用 Qt 样式表使 QComboBox 的行为与 QLineEdit 一样?
您可能需要通过子类化 QLineEdit 并将其安装到组合框中(使用QComboBox::setLineEdit())来完成此操作。然后,覆盖 QLineEdit 的 focusIn() 和 focusOut() 函数,并在这些函数中设置具有适当背景颜色的样式表。
QComboBox::setLineEdit()
另一种方法是在组合框(和/或其关联的 QLineEdit)上安装事件处理程序并捕获焦点输入/输出事件,然后更改样式表。