Qt 中 macOS 上的按钮颜色没有改变

问题描述 投票:0回答:1

我试图将 QPushButton 的颜色更改为 QPalette::Accent,但颜色没有改变。

一开始我尝试这样做:

 QPushButton button("Apply");
 QPalette palette = QPalette();
 palette.setColor(QPalette::Button, palette.color(QPalette::Accent));
 button.setPalette(palette);
 button.setAutoFillBackground(true);

但我只得到这个: button1

当我尝试使用样式表时,我发现一个按钮失去了 macOS 风格

QPushButton* button = new QPushButton("open");
 button->setStyleSheet("background-color: rgb(255,255,0);");

button2

但我想达到这样的结果: button3

我为这个愚蠢的问题道歉,但我已经搜索了整个互联网,但我不知道该怎么做。

c++ macos qt
1个回答
0
投票

MacOS 中的蓝色按钮(如示例中的“button3”)表示这是默认按钮。所以,例如按 Enter 键将按下此按钮。

要实现相同的行为(和外观),您应该简单地调用

button.setDefault(true)
。这可能仅限于对话框窗口。

将按钮着色为蓝色而不将其设为默认按钮会误导用户。

© www.soinside.com 2019 - 2024. All rights reserved.