pyqt5漂亮gui界面模板(pyqt漂亮gui界面)
pyqt5漂亮gui界面模板,原文标题:「2.PyQt5 GUI 常用界面组件」3.QSlider和QProgressBar组件。3.QSlider和QProgressBar组件滑动
pyqt5漂亮gui界面模板,原文标题:「2.PyQt5 GUI 常用界面组件」3.QSlider和QProgressBar组件。
3.QSlider和QProgressBar组件
- 滑动输入组件QSliderQScrollBar
- 进度条显示组件QProgressBar
QSlider和QScrollBar组件都是从QAbstractSlider类继承而来的、其属性如下:
|
属性 | 描述 |
minimum | 最小值 |
maximum | 最大值 |
singleStep | 单步长 |
pageStep | 按键PgUp和PgDn时的步长 |
value | 当前值 |
sliderPosition | 滑块的位置,若tracking属性设置为True,该值等于value |
tracking | sliderPosition的值是否与value相同 |
orientation | 方向,可以设置为水平或垂直,其取值: Qt.Horizontal 表示水平 Qt.Vertical 表示垂直 |
invertedAppearance | 显示方式是否反向,若设置为False,水平的Slider由左向右数值逐渐增大 |
invertedControls | 反向按键控制,若设置为True,则按键PgUp或PgDn调整的数值方向相反 |
QSlider专有的属性:
|
属性 | 描述 |
tickPosition | 标尺刻度的显示位置,取值: QSlider.NoTicks 不显示刻度 QSlider.TicksBothSides 标尺两侧都显示刻度 QSlider.TicksAbove 标尺上方显示刻度 QSlider.TicksBelow 标尺下方显示刻度 QSlider.TicksLeft 标尺左侧显示刻度 QSlider.TicksRight 标尺右侧显示刻度TICKiNTERVAL |
tickInterval | 标尺刻度之间的间隔值,若设置为0,会在singleStep和pageStep之间自动选择 |
QSlider和QScrollBar组件的常用信号
|
信号 | 描述 |
valueChanged(int) | 在滑块改变当前值时发射的信号 |
QProgressBar的常用属性:
|
属性 | 描述 |
minimum | 最小值 |
maximum | 最大值 |
value | 当前值 |
textVisable | 是否显示文字,文字一般是百分比表示的进度 |
orientation | 显示方向 |
format | 显示文字的格式,“%p%”显示百分比(默认),“%v”显示当前值,“%m”显示总步数。 |
下面通过一个示例来演示以上三个组件的使用方法,界面如下:

实现功能:当Slider或ScrollBar的当前值改变时,都将设置ProgressBar的当前值;下方的复选框和单选按钮可以多ProgressBar进行相应的设置。
属性设置表:
|
objectName | 属性 |
horizontalSlider | minimum=0 maximum=100 |
horizontalScrollBar | minimum=0 maximum=100 |
progressBar | minimum=0 maximum=100 |
checkBoxText | text="显示文本" |
checkBoxInverted | text="反向显示" |
radioButtonP | text="以百分比显示" |
radioButtonV | text="以当前值显示" |
radioButtonM | text="以总步数显示" |
代码如下:
# coding: utf-8import sysfrom PyQt5.QtWidgets import QWidget, QApplicationfrom PyQt5.QtCore import pyqtSlotfrom ui_widget import Ui_Widgetclass QAppWidget(QWidget): def __init__(self, parent=None): super().__init__(parent) self.__ui = Ui_Widget() self.__ui.setupUi(self) self.__ui.horizontalSlider.valueChanged.connect(self.do_changedValue) self.__ui.horizontalScrollBar.valueChanged.connect(self.do_changedValue) def do_changedValue(self, val): self.__ui.progressBar.setValue(val) @pyqtSlot(bool) def on_checkBoxText_clicked(self, checked): self.__ui.progressBar.setTextVisible(checked) @pyqtSlot(bool) def on_checkBoxInverted_clicked(self, checked): self.__ui.progressBar.setInvertedAppearance(checked) def on_radioButtonP_clicked(self): self.__ui.progressBar.setFormat('%p%') def on_radioButtonV_clicked(self): self.__ui.progressBar.setFormat('%v') def on_radioButtonM_clicked(self): self.__ui.progressBar.setFormat('%m')if __name__ == '__main__': app = QApplication(sys.argv) widget = QAppWidget() widget.show() sys.exit(app.exec_())
运行结果:

随机文章
友情链接交换搜素引擎算法
网站内容优化
SEO小小课堂网
SEO教程
站长导航
友情链接交换
搜素引擎算法
百度搜索“网赚联盟”即可找到本站,微信搜索“小小课堂网”关注小小课堂网公众号。网赚联盟( wangzhuan.org.cn )欢迎用户投稿,发布者:内蒙高考职业规划,文章版权归作者所有,投稿文章不代表网赚联盟立场,中二少年发布为网赚联盟原创文章,转载请注明出处:https://wangzhuan.org.cn/704098.html

微信扫一扫
支付宝扫一扫