【发布时间】:2019-04-25 14:26:07
【问题描述】:
目前我有一个 QComboBox,当用户进行选择时,我想更改它的颜色。为此,我在调用setStyleSheet的激活信号上调用了函数@
void comboBoxActivated(int i){
myComboBox -> setStyleSheet("border-width:2px; border-style:solid; border-color:red;");
}
然而,这会导致组合框在我的屏幕上卡住打开,摆脱它的唯一方法是关闭应用程序。使用此功能更改样式是否有问题?作为参考,我正在运行 Ubuntu 和 QT 4.8
【问题讨论】:
-
如果在其他功能中更改样式表是否有效?如果您根本不设置样式表,它不会卡在打开状态吗?可以发个截图吗?
-
@metal 出于安全原因我无法发布屏幕截图,在 not 在用户交互上运行的函数中设置样式,但从依赖于的函数更改样式用户输入信号没有。是的,不设置样式,盒子工作正常
-
您能否在一个较小的应用程序中重现该问题,您可以为其发布代码和屏幕截图?
-
尝试将
"border-color:red;"转换为"border: 2px solid red;"。我无法在 QT 4.8 中尝试它,但在 QT5 应用程序中更改它使其工作。 -
@apalomer 感谢您的回复,不幸的是它似乎无法解决问题