gpt4 book ai didi

c++ - Qt 4.8 : Text on QPushButton becomes selected when window is shown

转载 作者:IT王子 更新时间:2023-10-29 00:45:01 26 4
gpt4 key购买 nike

我有一个简单的 QPushButton 正在用一些非常简单的代码初始化:

QWidget window;
// ...

QPushButton button("New Project", &window);
// setGeometry... setStyleSheet...
button.show();

但是当我启动应用程序时,按钮中的文本似乎是这样选择的:

Wierd selected button

样式表中没有任何与蓝色调相关的东西,当我关注屏幕上的另一个窗口时,它又恢复正常了:

enter image description here

它不会发生在 OS X 上,但在我的 Linux 安装中会发生。我认为这是关于哪个窗口处于焦点选择文本的某种问题?

在此先感谢您的帮助。 :-)

最佳答案

我遇到了同样的问题并且几乎为此生气:只需使用代理样式即可防止绘制焦点矩形。

像这样创建一个类:

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);

关于c++ - Qt 4.8 : Text on QPushButton becomes selected when window is shown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20755401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com