1
下沒有影響我使用QT5 QSlider調色板窗口
slider->setPalette(QPalette(mycolor, mycolor));
着色滑塊(QT5)。在Linux下,這個效果很好,但在Windows 7下,滑塊看起來完全正常,沒有任何顏色變化。
有沒有什麼辦法讓窗口下的彩色滑塊?
下沒有影響我使用QT5 QSlider調色板窗口
slider->setPalette(QPalette(mycolor, mycolor));
着色滑塊(QT5)。在Linux下,這個效果很好,但在Windows 7下,滑塊看起來完全正常,沒有任何顏色變化。
有沒有什麼辦法讓窗口下的彩色滑塊?
你需要呼籲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->setStyleSheet("QSlider::groove:vertical{ background-color: red; } ");
垂直滑塊。
如果你想設置一個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。
謝謝!我可以給一個QColor對象而不是一個字符串嗎?基本上我有三個滑塊與3D視口中的三個對象相關聯。爲了使該關聯可見,我想對滑塊着色。 – Uroc327 2014-10-30 16:18:10
好的,請稍後查看我的編輯內容。 – Iuliu 2014-10-30 16:20:53
@ Uroc327看我的編輯。我沒有測試過代碼,但它應該可以工作。如果它不讓我知道,我會仔細看看。 – Iuliu 2014-10-30 16:25:50