我用一些非常简单的代码初始化了一个简单的QPushButton:
QWidget window;
// ...
QPushButton button("New Project", &window);
// setGeometry... setStyleSheet...
button.show();
但是当我启动应用程序时,似乎按钮中的文本选择如下:
样式表中没有任何与蓝色色调相关的内容,当我专注于屏幕上的另一个窗口时,它再次正常:
在OS X上不会发生这种情况,但是在我的Linux安装中它会发生。我认为关于哪个窗口是焦点选择文本的某种问题?
提前感谢您的帮助。 : - )
答案 0 :(得分:0)
我遇到了同样的问题而且几乎生气了:只需使用代理样式来阻止绘制焦点矩形。
创建一个这样的类:
class myStyle : public QProxyStyle
{
public:
void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
QPainter *painter, const QWidget *widget) const
{
if (element == QStyle::PE_FrameFocusRect) return;
QProxyStyle::drawPrimitive(element, option, painter, widget);
}
};
然后将此类的对象应用为您的样式:
qApp->setStyle(new myStyle);