我试图将 QPushButton 的颜色更改为 QPalette::Accent,但颜色没有改变。
一开始我尝试这样做:
QPushButton button("Apply");
QPalette palette = QPalette();
palette.setColor(QPalette::Button, palette.color(QPalette::Accent));
button.setPalette(palette);
button.setAutoFillBackground(true);
当我尝试使用样式表时,我发现一个按钮失去了 macOS 风格
QPushButton* button = new QPushButton("open");
button->setStyleSheet("background-color: rgb(255,255,0);");
我为这个愚蠢的问题道歉,但我已经搜索了整个互联网,但我不知道该怎么做。
MacOS 中的蓝色按钮(如示例中的“button3”)表示这是默认按钮。所以,例如按 Enter 键将按下此按钮。
要实现相同的行为(和外观),您应该简单地调用
button.setDefault(true)
。这可能仅限于对话框窗口。
将按钮着色为蓝色而不将其设为默认按钮会误导用户。