本文主要是介绍Qt之QDial(表盘),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简介
QDial类提供了一个四舍五入的范围控制(如速度计或电位计),非常适合需要循环计数的情况,例如角度等。
头文件:#include <QDial>
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()重新实现。
这篇关于Qt之QDial(表盘)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!