gpt4 book ai didi

Qt5 - 设置 QPushButton 和 QCheckBox 的背景颜色

转载 作者:行者123 更新时间:2023-12-01 21:24:27 26 4
gpt4 key购买 nike

我正在尝试更改 Qt5 中 QAbstractButton(QPushButton 或 QCheckBox)的背景颜色,但运气为零。

这没有任何作用:

pButton->setAutoFillBackground(true);
QPalette palette = pButton->palette();
palette.setColor(QPalette::Window, QColor(Qt::blue));
pButton->setPalette(palette);
pButton->show();

如果我尝试更改样式表:

pButton->setStyleSheet("background-color: rgb(255,255,0);");

然后 Qt 举起双手,画了一个看起来很糟糕的 block 状按钮。

有一个标题为“How to change the background color of QWidget ”的页面,但它只讨论这两种方法。

还有一个页面“Qt Style Sheets Examples”暗示如果你想改变背景颜色,你必须接管绘制按钮的所有方面,这看起来有点大材小用。

我需要它在 Mac、Windows 和 Ubuntu Linux 上运行,如果我必须手动绘制按钮的所有内容 3 次(每个平台一次),那真的不是一件快乐的事情。

我是否遗漏了一些明显的东西?

附: “背景颜色”是指按钮周围的区域,而不是按钮表面文本下方的颜色。

最佳答案

我也遇到了同样的问题,但终于解决了。我正在使用 Qt 5 和 Fusion 颜色主题:

QPalette pal = button->palette();
pal.setColor(QPalette::Button, QColor(Qt::blue));
button->setAutoFillBackground(true);
button->setPalette(pal);
button->update();

按照上述顺序尝试这些命令,如果仍然不起作用,请将主题设置为 Fusion,然后重试。

祝你好运!

关于Qt5 - 设置 QPushButton 和 QCheckBox 的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21685414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com