• Qt之QDial(表盘)


    简介       

             QDial类提供了一个四舍五入的范围控制(如速度计或电位计),非常适合需要循环计数的情况,例如角度等。

    头文件:#include  

    qmake:QT += widgets

    继承:QAbstractSlider

            由于QDial从QAbstractSlider继承,因此拨号的行为与滑块类似。 当wrapping()为false(默认设置)时,滑块和刻度盘之间没有真正的区别。 它们共享相同的信号,插槽和成员功能。 您使用哪一个取决于您的用户期望和应用程序类型。

            在滑块移动时,拨号盘最初会连续发出valueChanged()信号; 可以通过禁用跟踪属性来减少发射信号的频率。 即使禁用跟踪,也会连续发出sliderMoved()信号。

            当按下并释放鼠标按钮时,拨号也会发出sliderPressed()和sliderReleased()信号。 请注意,由于键盘和滚轮也可用于更改数值,因此表盘的数值可能会发生变化,而不会发出这些信号。

            与滑块一样,表盘使用QAbstractSlider函数setValue()设置数值,如果使用鼠标滚轮调整刻度盘,则增量值由wheelSrollLine的较小值(由singleStep和pageStep倍增)确定。

    以各种小部件样式显示的拨号(从左到右):Fusion,Windows Vista,Macintosh。 

     

    属性

    1、notchSize : const int

    该属性保持当前的缺口大小。

    缺口大小在范围控制单元中,而不是像素,并且如果可能的话,它是singleStep()的倍数,导致在notchTarget()附近的屏幕上的切口尺寸。

    默认情况下,此属性的值为1。

    获取函数;

    int notchSize() const

    2、notchTarget : qreal

    该属性拥有陷波之间的目标像素数。

    陷波目标是QDial尝试在每个陷波之间放置的像素数量。

    实际尺寸可能与目标尺寸不同。

    默认陷波目标是3.7像素。

    获取函数;

    qreal notchTarget() const

    void setNotchTarget(double target)

    3、notchesVisible : bool

    该属性保持是否显示切口。

    如果属性为true,则在刻度盘周围绘制一系列凹槽以指示可用值的范围; 否则没有显示缺口。

    默认情况下,此属性被禁用。

    获取函数;

    bool notchesVisible() const

    void setNotchesVisible(bool visible)

    4、wrapping : bool

    该属性保持是否启用包装。

    如果为true,则打开包装; 否则在表盘底部插入一些空格以分隔有效值范围的末端。

    如果启用,箭头的方向可以是任意角度。 如果禁用,箭头将被限制在拨号盘的上半部分; 如果它旋转到刻度盘底部的空间中,它将被钳位到有效值范围的最近端。

    默认情况下,该属性为false。

    获取函数;

    bool wrapping() const

    void setWrapping(bool on)

    成员函数

    1、QDial::QDial(QWidget *parent = Q_NULLPTR)

    构造一个表盘。

    父参数被发送到QAbstractSlider构造函数。

    2、QDial::~QDial()

    销毁表盘。

    3、[virtual protected] bool QDial::event(QEvent *e)

    从QObject :: event()重新实现。

    4、[protected] void QDial::initStyleOption(QStyleOptionSlider *option) const

    使用此QDial中的值初始化选项。 当他们需要QStyleOptionSlider时,此方法对子类很有用,但不希望自己填写所有信息。

    5、[virtual] QSize QDial::minimumSizeHint() const

    从QWidget :: minimumSizeHint()重新实现。

    6、[virtual protected] void QDial::mouseMoveEvent(QMouseEvent *e)

    从QWidget :: mouseMoveEvent()重新实现。

    7、[virtual protected] void QDial::mousePressEvent(QMouseEvent *e)

    从QWidget :: mousePressEvent()重新实现。

    8、[virtual protected] void QDial::mouseReleaseEvent(QMouseEvent *e)

    Reimplemented from QWidget::mouseReleaseEvent().

    9、[virtual protected] void QDial::paintEvent(QPaintEvent *pe)

    从QWidget :: paintEvent()重新实现。

    10、[virtual protected] void QDial::resizeEvent(QResizeEvent *e)

    从QWidget :: resizeEvent()重新实现。

    11、[virtual] QSize QDial::sizeHint() const

    从QWidget :: sizeHint()重新实现。

    12、[virtual protected] void QDial::sliderChange(SliderChange change)

    从QAbstractSlider :: sliderChange()重新实现。

  • 相关阅读:
    基于Java毕业设计智慧社区信息管理系统开发源码+系统+mysql+lw文档+部署软件
    在Node.js中,什么是中间件(middleware)?它们的作用是什么?
    算法体系版-左程云-笔记(1)
    基于Spring Boot+ Vue的健身房管理系统与实现
    【C++要笑着学】继承 | 子类默认成员函数 | 单继承与多继承 | 钻石继承 | 虚拟继承
    Vue---v-for渲染和样式绑定
    Jenkins 采用API接口进行构建工程及错误解释(10)
    五、点击切换、滚动切换、键盘切换
    接口自动化测试完整版(文档+视频)
    Java入门 面向对象(异常) (第二十二天)
  • 原文地址:https://blog.csdn.net/hulinhulin/article/details/133624218