文章:Python数据分析实例
作者:Brook
本次主要介绍Dial(旋钮控件)和QScrollBar(滚动条控件)相关示例。
01 Dial:旋钮控件
Dial称为旋钮控件,本质上类似于一个滑块控件,只是显示样式不同。
QDial类常用方法及说明
方法 |
说明 |
setFixedSize |
设置旋钮的大小 |
setRange |
设置表盘的数值范围 |
setMinimum |
设置最小值 |
setMaximum |
设置最大值 |
setNotchesVisible |
设置是否显示刻度 |
from PyQt5.Qt import *
from PyQt5 import QtGui
from ui_dial import Ui_MainWindow
class 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_)
02 QScrollBar:滚动条控件
QScrollBar提供水平的或垂直的滚动条,可以扩大当前窗口的有效装载面积,从而装载更多的控件,这两个滚动条对应的类都是QScrollBar类。
QScrollBar滚动条类常用方法及说明
方法 |
说明 |
setMinimum |
设置滚动条最小值 |
setMaximum |
设置滚动条最大值 |
setOrientation |
设置滚动条显示方向,取值如下: 1、Qt.Horizontal,水平滚动条 2、Qt.Vertical,垂直滚动条 |
setValue |
设置滚动条值 |
value |
获取滚动条的当前值 |
常用信号:valueChanged(当滚动条的值发生改变时发射改信号),sliderMoved(当用户拖动滚动条的滑块时发射该信号)。
ScrollBar滚动条使用示例
import sys
from 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_)
- 合作、交流、转载请添加微信 moonhmily1 -
,