下拉列表框QComboBox

QComboBox是一个集按钮和下拉选项于一体的控件,也称为下拉列表框。

常用的方法

addItem() 添加一个下拉选项
addItems() 从列表中添加下拉选项
Clear() 删除下拉选项中集中的所有选项
count() 返回下拉选项集合中的数目
currentText() 返回选中选项的文本
itemText(i) 获取索引为i的item的选项文本
currentIndex() 返回选中项的索引
setItemText(int index, text) 改变序号为index项的文本
常用的信号
Activated 当用户选中一个下拉选项时发射该信号
currentIndexChanged() 当下拉选项的索引发生改变时发射该信号
highlighted 当选中一个已经选中的下拉选项时,发射该信号

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *class ComboxDemo(QWidget):def __init__(self, parent=None):super(ComboxDemo, self).__init__(parent)self.setWindowTitle("combox 例子")self.resize(300, 90)layout = QVBoxLayout()self.lbl = QLabel("")self.cb = QComboBox()self.cb.addItem("C")self.cb.addItem("C++")self.cb.addItems(["Java", "C#", "Python"])self.cb.currentIndexChanged.connect(self.selectionchange)layout.addWidget(self.cb)layout.addWidget(self.lbl)self.setLayout(layout)def selectionchange(self, i):self.lbl.setText(self.cb.currentText())self.lbl.adjustSize()print("Items in the list are :")for count in range(self.cb.count()):print('item' + str(count) + '=' + self.cb.itemText(count))#每个选项名称print("Current index", i, "selection changed ", self.cb.currentText())#当前选项if __name__ == '__main__':app = QApplication(sys.argv)comboxDemo = ComboxDemo()comboxDemo.show()sys.exit(app.exec_())

计数器QSpinBox

QSPINBox是一个计数器控件,允许用户选择一个整数值通过单击向上向下或者按键盘上的上下键来增加减少当前显示的值,当然用户也可以输入值
在默认情况下,QSpinBox的取值范围是(0-99),每次改变的步长是1

方法 含义
setMinimum() 设置计数器的下界
setMaximum() 设置计数器的上界
setRange() 设置计数器的最大值,最小值,步长值
setValue() 设置计数器的当前值
Value() 返回计数器的当前值
singleStep() 设置计数器的步长值

每次信号改变都会发射valueChanged信号

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *class spindemo(QWidget):def __init__(self, parent=None):super(spindemo, self).__init__(parent)self.setWindowTitle("SpinBox 例子")self.resize(300, 100)layout = QVBoxLayout()self.l1 = QLabel("current value:")self.l1.setAlignment(Qt.AlignCenter)layout.addWidget(self.l1)self.sp = QSpinBox()self.sp.setRange(10,100)#最小值,最大值self.sp.setSingleStep(10)#步长layout.addWidget(self.sp)self.sp.valueChanged.connect(self.valuechange)self.setLayout(layout)def valuechange(self):self.l1.setText("current value:" + str(self.sp.value()))if __name__ == '__main__':app = QApplication(sys.argv)ex = spindemo()ex.show()sys.exit(app.exec_())

滑动条QSlider

方法 含义
setMinimum() 设置滑动条控件的最小值
setMaximum() 设置滑动条控件的最大值
setSingleStep() 设置滑动条控件递增/递减的步长值
setValue() 设置滑动条控件的值
value() 返回滑动条控件的值
setTickIntweval() 设置刻度间隔
setTickPosition() 设置刻度标记的位置,可以输入一个枚举值,这个枚举值指定刻度线相对于滑块和用户操作的位置。例如:QSlider.NoTicks(不会绘制任何刻度线)、QSliderTicksBothSides(在滑块的两侧绘制刻度线)、QSlider.TicksAbove(在水平滑块上方绘制刻度线)、QSlider.TicksBelow(在水平滑块下方绘制刻度线)、QSlider.TicksLeft(在垂直滑块左侧绘制刻度线)、QSlider.TicksRight(在垂直滑块右侧绘制刻度线)
信号 含义
valueChanged 当滑块的值发生改变时发射该信号
sliderPressed 当用户按下滑块时发射该信号
sliderMoved 当用户拖动滑块时发射该信号
sliderReleased 当用户释放滑块时发射该信号

水平或垂直滚动条
self.sp(Qt.Horizontal)
self.sp(Qt.vertical)

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *class SliderDemo(QWidget):def __init__(self, parent=None):super(SliderDemo, self).__init__(parent)self.setWindowTitle("QSlider 例子")self.resize(300, 100)layout = QVBoxLayout()self.l1 = QLabel("Hello PyQt5")self.l1.setAlignment(Qt.AlignCenter)layout.addWidget(self.l1)# 水平方向self.sl = QSlider(Qt.Horizontal)# 设置最小值self.sl.setMinimum(10)# 设置最大值self.sl.setMaximum(50)# 步长self.sl.setSingleStep(3)# 设置当前值self.sl.setValue(20)# 刻度位置,刻度在下方self.sl.setTickPosition(QSlider.TicksBelow)# 设置刻度间隔self.sl.setTickInterval(5)layout.addWidget(self.sl)# 连接信号槽self.sl.valueChanged.connect(self.valuechange)self.setLayout(layout)def valuechange(self):print('current slider value=%s' % self.sl.value())size = self.sl.value()self.l1.setFont(QFont("Arial", size))
if __name__ == '__main__':app = QApplication(sys.argv)demo = SliderDemo()demo.show()sys.exit(app.exec_())

电气专业的计算机萌新,写博文不容易,如果你觉得本文对你有用,请点个赞再走,谢谢。

pyqt5讲解3:QComboBox,QSpinBox,QSlider相关推荐

  1. pyqt5讲解13:图形与特效,设置窗口大小

    一.窗口的风格 可以为每个QWidget都设置风格 setStyle(QStyle style) 获取当前平台支持的原有的QStyle样式 QstyleFactory.keys() 对QApplica ...

  2. Qt5:输入控件 QPushButton/ QToolButton/ QRadioButton/ QCheckBox/ QTextEdit/ QComboBox/ QSpinBox/ QLabel

    作者及原代码链接:跟小豆君学Qt 跟着学习:完整实现代码:示例截图: QPushButton autoDefault:自动默认按钮,当在一个对话框中,用户输入完信息后,想要点击回车确认,则这时可以设置 ...

  3. PyQt5 技术篇-设置QComboBox下拉框默认值,获取下拉框当前选择的内容

    setCurrentIndex() 就可以通过索引设置当前内容为items里的某个值,从0开始. 例:"2"就代表"脚本管理" currentText() 就可 ...

  4. pyqt5讲解10:布局管理讲解大全

    一.绝对布局 使用move(x,y)的方法. 绝对布局: 如果改变屏膜的大小,控件的位置不会发生变化, 不同 屏膜显示有区别 # -*- coding: utf-8 -*-'''[简介]PyQT5中A ...

  5. pyqt5讲解9:时间模块timer和网页交互

    time 如果要在应用程序中周期性地进行某项操作,则需要用到QTimer定时器,QTimer类提供了重复的和单次的定时器.要使用定时器,需要先创建一个QTimer实例,将其timeout信号连接到相应 ...

  6. pyqt5讲解8:容器QTabWidget,QStackedWidget,QDockWidget

    QTabWidget 常用方法 方法 描述 addTab() 将一个控件添加到Tab控件的选项卡中 insertTab() 将一个Tab控件的选项卡插入到指定的位置 removeTab() 根据指定的 ...

  7. pyqt5讲解6:菜单栏,工具栏,状态栏

    菜单栏QMenuBar 方法 描述 menuBar() 用于返回主窗口的QMenuBar对象 addMenu() 将菜单添加到菜单栏: addAction() 在菜单中进行添加某些操作: setEna ...

  8. pyqt5讲解5:窗口绘图类控件QPainter,QPen,QBrush,QPixmap

    1.QPainter 常用方法 方法 描述 begin() 开始在目标设备上绘制 drawArc() 在起始角度和最终角度之间画弧 drawEliipse() 在一个矩形内画一个椭圆 drawLine ...

  9. pyqt5讲解4:QDialog,QMessageBox,QInputDialog,QFontDialog,QFileDialog

    框QDialog 方法 描述 setWindowTitle() 设置对话框标题 setWindowModality() 设置窗口模态,取值如下:Qt.NonModal:非模态,可以和程序的其他窗口进行 ...

最新文章

  1. 关于大型网站技术演进的思考(五)--存储的瓶颈(5)
  2. P1525 关押罪犯(扩展域并查集/二分图)
  3. 【C语言进阶深度学习记录】十八 条件编译的使用与分析
  4. java spring事务管理系统_Java Spring-事务管理概述
  5. 华东云友会主播栏目01期 阿里云X海底捞,千人千锅就是如此任性!
  6. roipool and roialign difference
  7. linux设置gmt时区,关于GMT UTC CST和Linux时区设置
  8. MATLAB2017安装步骤
  9. Anaconda下载安装教程
  10. XCode13 纯代码创建IOS APP项目,不使用storyboard
  11. 高通Snapdragon Sensor Core(SSC)笔记
  12. cocos2dx 精灵触摸
  13. Kaggle_NBME NLP比赛Baseline详解(2)
  14. 全志T5环境编译错误解决
  15. Arduino ESP8266当中的yield 函数
  16. 漂亮的title提示信息
  17. 多线程情况下如何保证线程安全
  18. Google Maps 图标
  19. 学习vue加OpenLayers(3)动画 GIF
  20. 汉字转换成url编码

热门文章

  1. 游戏里的角色都什么格式图片_二十年前是怎样开发游戏的?
  2. 【LeetCode】LeetCode之跳跃游戏——动态规划+贪心算法
  3. 从键盘获取字符串,并把字符串转数字
  4. yml配置文件中有特殊字符解决方案
  5. 牛客题霸 NC1 大数加法
  6. JavaScript + Thymeleaf + Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(十八)模板脚本
  7. Filling Shapes
  8. 数学建模之运筹学问题
  9. 2020年 第11届 蓝桥杯 C/C++ B组 省赛真题详解及小结【第1场省赛2020.7.5】【Java版】
  10. php进程学习(一)