文章:Python数据分析实例

作者:Brook

本次主要介绍Dial(旋钮控件)和QScrollBar(滚动条控件)相关示例。

01 Dial:旋钮控件

pyqt5常用控件及方法(PyQt5旋钮及滚动条控件)(1)

Dial称为旋钮控件,本质上类似于一个滑块控件,只是显示样式不同。

QDial类常用方法及说明

方法

说明

setFixedSize

设置旋钮的大小

setRange

设置表盘的数值范围

setMinimum

设置最小值

setMaximum

设置最大值

setNotchesVisible

设置是否显示刻度

Dial旋钮控件使用示例

from PyQt5.Qt import *from PyQt5 import QtGuifrom ui_dial import Ui_MainWindowclass Demo(QMainWindow): def __init__(self, parent=None): super.__init__(parent) self.ui = Ui_MainWindow # 创建UI对象 self.ui.setupUi(self) # 构建UI # 设置控件(大小、位置、样式...) self.ui.dial.setMaximum(360) self.ui.dial.setMinimum(0) self.ui.dial.setNotchesVisible(True) # 为旋钮控件绑定valueChanged信号,在值发生更改是发射 self.ui.dial.valueChanged.connect(self.setfontsize) # 定义槽函数,根据旋钮的值改变Label控件的字体大小 def setfontsize(self): value = self.ui.dial.value # 获取旋钮的值 self.ui.label.setFont(QtGui.QFont("楷体", value)) # 设置Label的字体和大小if __name__ == '__main__': import sys #1、创建一个应用程序对象 app=QApplication(sys.argv) #2、控件的操作 #创建控件 window=Demo #展示控件 window.show #3、应用程序的执行,进入到消息循环 sys.exit(app.exec_)

pyqt5常用控件及方法(PyQt5旋钮及滚动条控件)(2)

02 QScrollBar:滚动条控件

QScrollBar提供水平的或垂直的滚动条,可以扩大当前窗口的有效装载面积,从而装载更多的控件,这两个滚动条对应的类都是QScrollBar类。

QScrollBar滚动条类常用方法及说明

方法

说明

setMinimum

设置滚动条最小值

setMaximum

设置滚动条最大值

setOrientation

设置滚动条显示方向,取值如下:

1、Qt.Horizontal,水平滚动条

2、Qt.Vertical,垂直滚动条

setValue

设置滚动条值

value

获取滚动条的当前值

常用信号:valueChanged(当滚动条的值发生改变时发射改信号),sliderMoved(当用户拖动滚动条的滑块时发射该信号)。

ScrollBar滚动条使用示例

import sysfrom PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *class Example(QWidget): def __init__(self): super(Example, self).__init__ self.initUI def initUI(self): hbox = QHBoxLayout self.l1 = QLabel("Python数据分析实例") self.l1.setFont(QFont("Arial", 16)) hbox.addWidget(self.l1) self.s1 = QScrollBar self.s1.setMaximum(255) self.s1.sliderMoved.connect(self.sliderval) self.s2 = QScrollBar self.s2.setMaximum(255) self.s2.sliderMoved.connect(self.sliderval) self.s3 = QScrollBar self.s3.setMaximum(255) self.s3.sliderMoved.connect(self.sliderval) hbox.addWidget(self.s1) hbox.addWidget(self.s2) hbox.addWidget(self.s3) self.setGeometry(300, 300, 300, 200) self.setWindowTitle('QScrollBar 例子') self.setLayout(hbox) def sliderval(self): print(self.s1.value, self.s2.value, self.s3.value) palette = QPalette c = QColor(self.s1.value, self.s2.value, self.s3.value, 255) palette.setColor(QPalette.Foreground, c) self.l1.setPalette(palette)if __name__ == '__main__': app = QApplication(sys.argv) demo = Example demo.show sys.exit(app.exec_)

pyqt5常用控件及方法(PyQt5旋钮及滚动条控件)(3)

- 合作、交流、转载请添加微信 moonhmily1 -

,