实战PyQt5: 037-表盘控件QDial
QDial简介
QDial是一个圆表盘控件, 各种仪表仪盘都可以抽象成一个圆表盘控件,例如汽车仪表盘上的速度计,就是一个圆表盘。
QDial继承自QAbstractSlider,因此也继承了相应的方法和信号,除此以外,它还有一些自身的常用方法。
QDial常用方法:
-
setNotchesVisible(): 设置是否显示刻度 notchesVisile(): 刻度可见返回True,不可见返回False setWrapping(): 设置是否回绕 wrapping(): 如果回绕则返回True, 否则返回False setNotchTarget(): 设置刻度之间的目标刻度 notchTarget(): 返回刻度间的目标宽度 notchSize(): 当前刻度尺寸
QDial类继承关系:
测试QDial
创建文件qdial.py在其中加入一个QDial控件,设置其范围,一个QLabel控件,用于显示操作QDial时的值。完整代码如下:
import sys from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtGui import QFont from PyQt5.QtWidgets import (QApplication, QWidget, QDial, QLabel, QHBoxLayout) class DemoDial(QWidget): def __init__(self, parent=None): super(DemoDial, self).__init__(parent) # 设置窗口标题 self.setWindowTitle(实战PyQt5: QDial Demo!) # 设置窗口大小 self.resize(400, 300) self.initUi() def initUi(self): self.dial = QDial(self) self.dial.setRange(0,100) self.dial.setNotchesVisible(True) self.dial.valueChanged.connect(self.onDialValueChanged) self.labValue = QLabel(0,self) self.labValue.setFont(QFont(Arial Black, 24)) hLayout = QHBoxLayout(self) hLayout.addWidget(self.dial) hLayout.addWidget(self.labValue) self.setLayout(hLayout) def onDialValueChanged(self): self.labValue.setText(str(self.dial.value())) if __name__ == __main__: app = QApplication(sys.argv) window = DemoDial() window.show() sys.exit(app.exec())
运行结果如下图:
测试QDial
本文知识点
-
表盘控件的应用场景; 表盘控件的刻度控制; 表盘控件的值的文字显示。
前一篇:
