首页 > 解决方案 > 我如何禁用 QPushbutton 上的突出显示?

问题描述

Qt 5.11 Linux

我如何在我的图标平面 QPushButton 上禁用按钮突出显示:它看起来像:

图片

代码:

m_settingsPushButtton=new QPushButton();
m_settingsPushButtton->setCheckable(true);
m_settingsPushButtton->setChecked(false);
m_settingsPushButtton->setFlat(true);
m_settingsPushButtton->setIcon(QIcon(":/images/settings2"));

起初我认为它可能是默认设置:

m_settingsPushButtton->setDefault(false);
m_settingsPushButtton->setAutoDefault(false);

但事实并非如此。问题仍然存在我认为这是因为这个按钮具有我设置的焦点:

m_settingsPushButtton->setFocusPolicy(Qt::NoFocus);

但这又没用了。好的,可能我需要设置按钮 Transapent ..

QPalette Theme = m_themePushButtton->palette();
Theme.setColor(QPalette::Button, QColor(Qt::transparent));
m_themePushButtton->setPalette(pal);

没有结果。如何禁用此突出显示。谢谢。

标签: c++qtqt5highlightqpushbutton

解决方案


您应该使用 StyleSheets 将按钮边框设置为 0:

m_themePushButtton->setStyleSheet("border: 0px;");

可能会有帮助


推荐阅读