gpt4 book ai didi

c++ - windows下Qt5 QSlider调色板无效果

转载 作者:太空宇宙 更新时间:2023-11-04 11:26:01 30 4
gpt4 key购买 nike

我用

slider->setPalette(QPalette(mycolor, mycolor));

为 slider 着色 (Qt5)。在 Linux 下这很完美,但在 Windows 7 下, slider 看起来完全正常,颜色没有任何变化。

有没有办法在windows下获得彩色 slider ?

最佳答案

您需要在 QSlider 上调用 setAutoFillBackground(true) 才能使其正常工作:

QPalette p;
p.setColor(QPalette::Window, QColor(42, 42, 42));
slider->setAutoFillBackground(true);
slider->setPalette(p);

作为替代方案,您可以使用 QSS:

slider->setStyleSheet("QSlider::groove:horizontal { background-color: red; } ");

用于水平 slider 或

slider->setStyleSheet("QSlider::groove:vertical{ background-color: red; } ");

用于垂直 slider 。

如果你想设置一个QColor你会想做这样的事情:

QColor myColor;
myColor.setRgb(42, 42, 42);
QString backgroundColor = QString("rgb("%1, %2, %3);").arg(myColor.red()).arg(myColor.green()).arg(myColor.blue());");
slider->setStyleSheet("QSlider::groove:vertical{ background-color: " + backgroundColor + " } ");

所以结果会是这样的:

QSlider::groove:vertical{ background-color: rgb(42, 42, 42); }

更多详情 here .

关于c++ - windows下Qt5 QSlider调色板无效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26657818/

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