【发布时间】:2019-08-12 14:29:02
【问题描述】:
我使用 C++/Qt 5.12、Windows 7 操作系统、Visual Studio 2017。
我希望可检查的QPushButton 背景忽略检查/按下状态。我想在QPushButton 实例中使用默认背景,但如果用户选中按钮,则只应更改字体颜色。我怎样才能达到这个效果?
【问题讨论】:
标签: qt qtstylesheets qpushbutton
我使用 C++/Qt 5.12、Windows 7 操作系统、Visual Studio 2017。
我希望可检查的QPushButton 背景忽略检查/按下状态。我想在QPushButton 实例中使用默认背景,但如果用户选中按钮,则只应更改字体颜色。我怎样才能达到这个效果?
【问题讨论】:
标签: qt qtstylesheets qpushbutton
您可以使用 QSS(带有 Qt 风格的 CSS)来自定义 QWidget: https://doc.qt.io/qt-5/stylesheet-syntax.html
我建议创建一个在启动时加载的应用程序范围的 QSS,并使用 QApplication::setStyleSheet(...)。但是您可以使用 Qt Designer(右键单击特定控件)或纯 C++
myButton->setStyleSheet("QPushButton { background: yellow; }");
您可能需要重新定义border 以使其在视觉上应用,然后margins 以具有正确的按钮大小,但这相当容易。尝试从 Qt Designer 进行试验。
您可以在此处找到所有可用选择器和属性的综合参考:https://doc.qt.io/qt-5/stylesheet-reference.html
【讨论】: