Pyqt5 combobox
起因
- combobox的使用和介绍
- 两个
combobox联动

开始
介绍
Combobox是Qt中的下拉复选框,
注意:在添加列表选项时,可以一个个添加,也可以直接使用列表一次性添加多个;
添加多个后 会默认显示索引为0的元素。

常用方法
- 控件常用函数:
| 函数 | 意义 |
|---|---|
| .addItem(string) | #添加字符串项到Item |
| .addItems(list) | #添加列表或元组元素到Item |
| .clear() | #清除所有Item |
| .clearEditText() | #清除编辑框内容 |
| .count() | #返回Item数目 |
| .currentIndex() | #返回当前选择索引,从0开始 |
| .currentText() | #返回当前选择内容 |
| .insertItem(index,string) | #插入字符串项到Item项index后 |
| .insertItems(index,list) | #插入列表或元组元素到Item项index后 |
| .insertSeparator(index) | #插入分隔符到Item项index后 |
| .itemText(index) | #返回Item项index的内容 |
| .removeItem(index) | #删除Item项index |
| .setCurrentIndex(index) | #设置Item项index为当前选择 |
| .setEditable(True) | #设置选框可编辑 |
| .setEditText(string) | #设置编辑框内容 |
| .setItemText(index,string) | #设置Item项index内容为字符串值 |
- 信号:

案例
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class QComboBoxDemo(QWidget):
def __init__(self):
super(QComboBoxDemo, self).__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('下拉列表控件演示')
self.resize(300, 100)
layout = QVBoxLayout() # 设置垂直布局
self.label = QLabel('选择种类') # label 1
self.label1 = QLabel("选择需求") # label 2
self.cb = QComboBox() # 创建下拉列表对象1
self.cb1 = QComboBox() # 创建下拉列表对象2
self.cb.addItem('坚果') # 添加单个控件
self.cb.addItem('小球')
self.cb.addItems(['螺母', '未知']) # 一次添加多个控件
# 当下拉复选框内容被选中时 发送信号
self.cb.currentIndexChanged.connect(self.selectionChange) # 获取当前选中元素的索引 并按照指定格式输出
self.cb.activated[str].connect(self.change) # 获取当前选中元素的索引
# 把label和combobox 添加进 垂直布局
layout.addWidget(self.label)
layout.addWidget(self.cb)
layout.addWidget(self.label1)
layout.addWidget(self.cb1)
self.setLayout(layout)
def selectionChange(self, i): # 默认传递两个参数 第二个当前选择的索引
self.label.setText(self.cb.currentText()) # currentText 返回当前下拉复选框选择的内容
self.label.adjustSize()
for count in range(self.cb.count()): # 获取所有的元素
print('item' + str(count) + '=' + self.cb.itemText(count))
print('current index', i, 'selection changed', self.cb.currentText())
def change(self, s):
self.cb1.clear()
if s == "坚果":
self.cb1.addItem('夏威夷果') # 添加单个控件
elif s == "小球":
self.cb1.addItem('红球')
self.cb1.addItems(['绿球', '蓝球']) # 一次添加多个控件
elif s == "螺母":
self.cb1.addItem("M12")
else:
self.cb1.addItem("请重选")
if __name__ == '__main__':
app = QApplication(sys.argv)
main = QComboBoxDemo()
main.show()
sys.exit(app.exec_())
参考:
https://baijiahao.baidu.com/s?id=1663472192312252851&wfr=spider&for=pc
Pyqt5 combobox的更多相关文章
- 用 eric6 与 PyQt5 实现python的极速GUI编程(系列02)---- 省市县(区)下拉列表多级联动
[概览] 本文实现如下的程序: 主要步骤如下: 1.在eric6中新建项目,新建窗体 2.(自动打开)进入PyQt5 Desinger,编辑图形界面,保存 3.回到eric 6,对上一步得到的界面文件 ...
- PyQt5实现邮件合并功能(GUI)
1. 实战Word批量 需要处理批量替换word的一些数据,数据源从Excel中来. Excel的百分数会变为数字,以及浮点数会多好多精度,为了原汁原味的数据,直接复制数据到文本文件.通过\t来分隔即 ...
- pyqt5 graphics view简单使用
Graphics View提供了一个平面,用于管理和交互大量自定义的2D图形图元,以及一个用于可视化图元的视图窗口小部件,支持缩放和旋转. 该框架包括一个事件传播架构,允许场景中图元的精确双精度交互功 ...
- Pyqt5的事例讲解
1.第一个gui程序 import sys from PyQt5.QtWidgets import QApplication from PyQt5.QtWidgets import QMainWind ...
- [Qt扒手2] PyQt5 路径绘画例子
[说明] 此例扒自 Qt 官网,原例是 C++ 代码,我把它改写成了 Python + PyQt5 版本. 有了前一个例子的成功,这个例子改写的非常之快.记得第一个例子花了我几天的时间,而这个例子只花 ...
- python3+pyQt5+QtDesignner实现窗口化猜数字游戏
描述:使用QtDesignner设计界面,pyQt5+python3实现主体方法制作的猜数字游戏. 游戏规则:先选择游戏等级:初级.中级.高级.魔鬼级,选择完游戏等级后点击“确定”,然后后台会自动生成 ...
- [ PyQt入门教程 ] PyQt5基本控件使用:单选按钮、复选框、下拉框
本文主要介绍PyQt5界面最基本使用的单选按钮.复选框.下拉框三种控件的使用方法进行介绍. 1.RadioButton单选按钮/CheckBox复选框.需要知道如何判断单选按钮是否被选中. 2.Com ...
- pyqt5的QCompleter自动补全 使用模板
相关说明 使用QCompleter类,就可以实现自动补全功能,效果图如下: 对应的代码很简单 def init_lineedit(self): # 增加自动补全 self.completer = QC ...
- PyQt5基础控件
QLabel标签 功能:在界面上显示文字.图片.链接等 接口: 方法 描述 setText() 设置显示的内容 setAlignment() 设置文字对齐方式 setToolTip() 设置提示信息 ...
随机推荐
- 关于VsCode创建Vue基础项目的步骤以及相关问题
项目创建步骤: 1. 全局安装vue-cli 安装命令: npm install -g vue-cli 在vscode上打开一个终端,然后输入此命令(下为截图): 2. 安装webpack,打包js ...
- ubuntu上pyecharts V1版本环境搭建
1 背景 今天想用pyecharts画图,在新的环境下使用pip安装之后发现,导入pyecharts模块一直失败,报错如下. 图 1 导入pyecharts错误图 请注意:我这里使用的python版本 ...
- 【知识点】 gcc和g++的联系和区别
目前(2020-09)GCC 编译器已经更新至 10.2版本,其功能也由最初仅能编译 C 语言,扩增至可以编译多种编程语言,其中就包括 C++ . 除此之外,当下的 GCC 编译器还支持编译 Go.O ...
- 使用python进行接口自动化测试,批量执行测试用例
工作中,使用python的requests库进行接口自动化测试是一个比较不错的选择,今天就以某网站的免费接口为例,展示以get请求进行批量执行测试用例.话不多说直接开讲 分析一下接口信息, 请求地址: ...
- 使用Spark加载数据到SQL Server列存储表
原文地址https://devblogs.microsoft.com/azure-sql/partitioning-on-spark-fast-loading-clustered-columnstor ...
- LeetCode-二叉搜索树的范围和
二叉搜索树的范围和 LeetCode-938 首先需要仔细理解题目的意思:找出所有节点值在L和R之间的数的和. 这里采用递归来完成,主要需要注意二叉搜索树的性质. /** * 给定二叉搜索树的根结点 ...
- 2020年12月-第01阶段-前端基础-HTML常用标签
1. HTML常用标签 首先 HTML和CSS是两种完全不同的语言,我们学的是结构,就只写HTML标签,认识标签就可以了. 不会再给结构标签指定样式了. HTML标签有很多,这里我们学习最为常用的,后 ...
- 一次VLAN标签引发的网络事件的处置
一次VLAN标签引发的网络事件的处置 一.背景介绍 事件背景: HZ某分公司新装一套业务系统,通过一条专线和BJ总公司连通.分配给HZ公司的ip地址为:a.b.c.X,掩码24位,网关a.b.c.1. ...
- pgrep - 命令
pgrep 命令格式:pgrep [选项] [模式] 选项 含义 -d <string> 指定输出分隔符 -l PID和进程名称 -a 列出PID和完整的命令行 -v 取反 -c 统计进程 ...
- Android学习之启动活动的最佳写法
•开始热身 通过之前的学习,我们现在可以很容易的启动一个活动: 首先通过 Intent 构造出当前的 "意图",然后调用 startActivity() 方法将活动启动起来: ...