【发布时间】:2014-01-12 08:55:53
【问题描述】:
我有一个简单的 QPushButton 正在使用一些非常简单的代码进行初始化:
QWidget window;
// ...
QPushButton button("New Project", &window);
// setGeometry... setStyleSheet...
button.show();
但是当我启动应用程序时,它看起来好像按钮中的文本是这样选择的:
样式表中没有与蓝色调相关的内容,当我关注屏幕上的另一个窗口时,它又正常了:
它不会在 OS X 上发生,但在我的 Linux 安装中会发生。我认为这是关于选择文本的焦点是哪个窗口的某种问题?
提前感谢您的帮助。 :-)
【问题讨论】:
-
这看起来像按钮被选为“默认”。如果您没有为选定按钮明确设置样式,您的窗口管理器将设置一些内容。在按钮上尝试
setDefault(false)。 -
@arne
btn.setDefault(false)似乎没有什么不同。也许 Qt 的样式表中有一个属性可以摆脱样式。 -
4.8._5_?你能用 Qt 5 重现这个吗?
-
你有
button.show()而不是window.show(),为什么? :) -
在 Linux 上使用通量盒,QPushButton::clearFocus();解决了这个问题。如果这没有帮助,请尝试在您的对话框、主窗口或 centralWidget 上设置焦点()。
标签: c++ linux qt user-interface qt4