使用样式表自定义QDial

Hor*_*ter 5 qt qwidget qtstylesheets qdial

有针对的样式表综合例子QWidgets 在这里.遗憾的QDial是,这些例子中缺少.

我可以通过样式表更改外观(基本上是旋钮的颜色,边框)吗?在本文中,一个新的拨号类支持样式表,但是不能用Qt的标准类完成吗?

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

我已经试过了标准的属性,如backgroud-color,background,color没有成功.也尝试了QDial::handle,所以提示将是有用的.

shr*_*use 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)
Run Code Online (Sandbox Code Playgroud)