目录
一、QSlider滑块控件
(1)简介
(2)常用函数
(3)代码演示
二、QSpinBox计数器控件
(1)简介
(2)常用函数
(3)代码演示
一、QSlider滑块控件
(1)简介
1、水平或者垂直的滑动控件,一般用来设置数字,快速滑动来调整数字
2、用给定的parent构造一个垂直的滑块。用给定的parent构造一个滑块。方向参数确定滑块是水平的还是垂直的。有效值是Vertical和Horizon
(2)常用函数
1、initStyleOption(option):使用此QSlider中的值初始化选项。当子类需要QStyleOptionSlider,但又不想自己填写所有信息时,此方法很有用。
2、setTickInterval(ti):此属性保存刻度线之间的间隔。这是一个值间隔,而不是像素间隔。如果为0,则滑块将在singleStep和pageStep之间进行选择。默认值为0。
3、setTickPosition(position):此属性保存此滑块的刻度线位置。有效值由TickPosition枚举描述。默认值为NoTicks。
4、tickInterval():此属性保存刻度线之间的间隔。这是一个值间隔,而不是像素间隔。如果为0,则滑块将在singleStep和pageStep之间进行选择。默认值为0。
5、tickPosition():此属性保存此滑块的刻度线位置。有效值由TickPosition枚举描述。默认值为NoTicks。
6、官方文档:QSlider — Qt for Python
(3)代码演示
'''
滑块控件(QSlider)
'''
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class QSliderDemo(QWidget):
def __init__(self):
super(QSliderDemo,self).__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('滑块控件演示')
self.resize(300,700)
layout = QVBoxLayout()
self.label = QLabel('你好 PyQt5')
self.label.setAlignment(Qt.AlignCenter)
layout.addWidget(self.label)
self.slider = QSlider(Qt.Horizontal)
# 设置最小值
self.slider.setMinimum(12)
# 设置最大值
self.slider.setMaximum(48)
# 步长
self.slider.setSingleStep(3)
# 设置当前值
self.slider.setValue(18)
# 设置刻度的位置,刻度在下方
self.slider.setTickPosition(QSlider.TicksBelow)
# 设置刻度的间隔
self.slider.setTickInterval(6)
layout.addWidget(self.slider)
self.slider.valueChanged.connect(self.valueChange)
self.slider1 = QSlider(Qt.Vertical)
layout.addWidget(self.slider1)
# 设置最小值
self.slider1.setMinimum(10)
# 设置最大值
self.slider1.setMaximum(60)
# 步长
self.slider1.setSingleStep(5)
# 设置当前值
self.slider1.setValue(30)
# 设置刻度的位置,刻度在下方
self.slider1.setTickPosition(QSlider.TicksLeft)
# 设置刻度的间隔
self.slider1.setTickInterval(2)
self.slider1.valueChanged.connect(self.valueChange)
self.setLayout(layout)
def valueChange(self):
print('当前值:%s' % self.sender().value())
size = self.sender().value()
self.label.setFont(QFont('Arial',size))
if __name__ == '__main__':
app = QApplication(sys.argv)
main = QSliderDemo()
main.show()
app.exec_()
del app
二、QSpinBox计数器控件
(1)简介
1、QSpinBox计数器控件同样有快速设置数字的用处,区分于滑动控件,它可以进行直接的输入填写
2、构造一个旋转框,其最小值为0,最大值为99,步进值为1。该值初始设置为0。它是parent的父级。
(2)常用函数
1、cleanText():此属性保存旋转框的文本,但不包括任何前缀,后缀或开头或结尾的空格。
2、displayIntegerBase():此属性保留用于显示旋转框值的基数。默认值为10。
3、maximum():此属性保留旋转框的最大值。设置此属性时,将根据需要调整最小值,以确保范围保持有效。默认最大值为99。
4、minimum():此属性保留旋转框的最小值。设置此属性时,如有必要,将调整最大值,以确保范围保持有效。默认最小值为0。
5、prefix():此属性保留旋转框的前缀。该前缀位于显示值的开头。典型用途是显示度量单位或货币符号。例如:要关闭前缀显示,请将此属性设置为空字符串。默认为无前缀。设置value()== minimum()和specialValueText()时不显示前缀。如果未设置前缀,则返回空字符串。
6、setDisplayIntegerBase(base):此属性保留用于显示旋转框值的基数。默认值为10。
7、setMaximum(max):此属性保留旋转框的最大值。设置此属性时,将根据需要调整最小值,以确保范围保持有效。默认最大值为99。
8、setMinimum(min):此属性保留旋转框的最小值。设置此属性时,如有必要,将调整最大值,以确保范围保持有效。默认最小值为0。
9、setRange(min,max):通过一个函数调用即可设置最小值和最大值的便捷功能等效于
10、官方文档:QSpinBox — Qt for Python
(3)代码演示
'''
计数器控件(QSpinBox)
'''
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class QSpinBoxDemo(QWidget):
def __init__(self):
super(QSpinBoxDemo,self).__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('QSpinBox演示')
self.resize(300,100)
layout = QVBoxLayout()
self.label = QLabel('当前值')
self.label.setAlignment(Qt.AlignCenter)
layout.addWidget(self.label)
self.sb = QSpinBox()
self.sb.setValue(18)#设置当前值
self.sb.setRange(10,38)#设置范围
self.sb.setSingleStep(3)#设置布局
layout.addWidget(self.sb)
self.sb.valueChanged.connect(self.valueChange)#值变化时触发
self.setLayout(layout)
def valueChange(self):
self.label.setText('当前值:' + str(self.sb.value()))#获取当前值
if __name__ == '__main__':
app = QApplication(sys.argv)
main = QSpinBoxDemo()
main.show()
app.exec_()
del app