5

QWidgets 这里有样式表的综合示例。不幸QDial的是,示例中缺少。

我可以仅通过样式表更改外观(基本上是旋钮的颜色、边框)吗?在这篇文章中一个新的表盘类是支持样式表的,但是不能用Qt的标准类来做吗?

滑块/滚动条示例显示了如何调整每个细节,所以我想知道是否有类似的东西QDial?我知道我可以交换底层图像,但更喜欢一种简单的方法来设置它的颜色、边框。

我已经尝试了标准属性,例如backgroud-color, backgroundcolor但没有成功。也试过QDial::handle了,所以提示会很有用。

4

1 回答 1

3

您可以使用样式表更改背景,但似乎就是这样。

自从您在 2014 年 1 月 6 日提出这个问题以来,也许情况已经发生了变化,但我能够让样式表仅用于背景。我尝试的其他一切都没有效果。

请注意背景变化如何影响针。

在 MATE 下使用给定样式表在 FC20 中呈现的 QDial 小部件

from PyQt4 import QtGui, QtCore
import os
import time

class MyDial(QtGui.QDial):
    style =''' 
    QDial
    {
        background-color:QLinearGradient( 
            x1: 0.177, y1: 0.004, x2: 0.831, y2: 0.911, 
            stop: 0 white, 
            stop: 0.061 white, 
            stop: 0.066 lightgray, 
            stop: 0.5 #242424, 
            stop: 0.505 #000000,
            stop: 0.827 #040404,
            stop: 0.966 #292929,
            stop: 0.983 #2e2e2e
        );
    }
    '''
    def __init__(self, parent=None):
        super(MyDial, self).__init__(parent)

        self.setStyleSheet(self.style)

        self.setRange(0,100)
        self.setValue(0)
        self.setWrapping(True) # Smooth transition from 99 to 0
        self.setNotchesVisible(True)
于 2014-10-21T13:46:46.387 回答