如何为应用程序中的某些按钮重置QApplication :: styleSheet?

时间:2018-08-07 09:24:33

标签: c++ qt qt5 qtstylesheets

在main()函数中,我在应用程序的所有按钮上设置了styleSheet。

qApp->setStyleSheet("QPushButton {"
                            "     border: 1px solid #8f8f91;"
                            "     border-radius: 4px;"
                            "     background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde);"
                            "     padding: 3px;"
                            " }");

但是现在我需要重置一些按钮的样式。我已经尝试过button->setStyleSheet(""),但是它不起作用。那么,该怎么做?

1 个答案:

答案 0 :(得分:2)

你不能。

您可以执行相反的操作,即设置这样的某些按钮的样式表:

qApp->setStyleSheet("QPushButton[specialButton=\"true\"] {"
                    "     border: 1px solid #8f8f91;"
                    "     border-radius: 4px;"
                    "     background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #f6f7fa, stop: 1 #dadbde);"
                    "     padding: 3px;"
                    "}");

然后:

button->setProperty("specialButton", true);

通过这种方式,只有将 specialButton 设置为true的按钮才能具有自定义外观,其他按钮则看起来正常。