import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
################################################
items_list=["C","C++","Java","Python","JavaScript","C#","Swift","go","Ruby","Lua","PHP"]
datas_list=[1972,1983,1995,1991,1992,2000,2014,2009,1995,1993,1995] class Widget(QWidget):
def __init__(self, *args, **kwargs):
super(Widget, self).__init__(*args, **kwargs)
layout = QVBoxLayout(self)
self.combobox1 = QComboBox(self, minimumWidth=200)
self.combobox2 = QComboBox(self, minimumWidth=200)
self.combobox3 = QComboBox(self, minimumWidth=200)
self.combobox4 = QComboBox(self, minimumWidth=200) layout.addWidget(QLabel("增加单项,不带数据", self))
layout.addWidget(self.combobox1)
layout.addItem(QSpacerItem(20, 20, QSizePolicy.Expanding, QSizePolicy.Minimum))

layout.addWidget(QLabel("增加单项,附带数据", self))
layout.addWidget(self.combobox2)
layout.addItem(QSpacerItem(20, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)) layout.addWidget(QLabel("增加多项,不带数据", self))
layout.addWidget(self.combobox3)
layout.addItem(QSpacerItem(20, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)) layout.addWidget(QLabel("设置模型,不带数据", self))
layout.addWidget(self.combobox4) #初始化combobox
self.init_combobox1()
self.init_combobox2()
self.init_combobox3()
self.init_combobox4() #增加选中事件
self.combobox1.activated.connect(self.on_combobox1_Activate)
self.combobox2.activated.connect(self.on_combobox2_Activate)
self.combobox3.activated.connect(self.on_combobox3_Activate)
self.combobox4.activated.connect(self.on_combobox4_Activate) ####### addItem() 增加单项元素,不带数据 #########
def init_combobox1(self):
for i in range(len(items_list)):
self.combobox1.addItem(items_list[i])
self.combobox1.setCurrentIndex(-1) def on_combobox1_Activate(self, index):
print(self.combobox1.count())  #返回列表框下拉项数目
print(self.combobox1.currentIndex())  #返回选中项索引
print(self.combobox1.currentText())  #返回选中项的文本内容
print(self.combobox1.currentData())  #返回当前数据
print(self.combobox1.itemData(self.combobox1.currentIndex()))
print(self.combobox1.itemText(self.combobox1.currentIndex()))
print(self.combobox1.itemText(index)) ####### addItem() 增加单项元素,附带数据 #########
def init_combobox2(self):
for i in range(len(items_list)):
self.combobox2.addItem(items_list[i],datas_list[i])
self.combobox2.setCurrentIndex(-1) def on_combobox2_Activate(self, index):
print(self.combobox2.count())
print(self.combobox2.currentIndex())  
print(self.combobox2.currentText())
print(self.combobox2.currentData())
print(self.combobox2.itemData(self.combobox2.currentIndex()))
print(self.combobox2.itemText(self.combobox2.currentIndex()))
print(self.combobox2.itemText(index)) ####### addItems() 增加多项元素,不带数据 #########
def init_combobox3(self):
self.combobox3.addItems(items_list)
self.combobox3.setCurrentIndex(-1) def on_combobox3_Activate(self, index):
print(self.combobox3.count())
print(self.combobox3.currentIndex())
print(self.combobox3.currentText())
print(self.combobox3.currentData())
print(self.combobox3.itemData(self.combobox3.currentIndex()))
print(self.combobox3.itemText(self.combobox3.currentIndex()))
print(self.combobox3.itemText(index)) ####### setModel() 设置数据模型,不带数据 #########
def init_combobox4(self):
self.tablemodel = QStringListModel(items_list)
self.combobox4.setModel(self.tablemodel)
self.combobox4.setCurrentIndex(-1) def on_combobox4_Activate(self, index):
print(self.combobox4.count())
print(self.combobox4.currentIndex())
print(self.combobox4.currentText())
print(self.combobox4.currentData())
print(self.combobox4.itemData(self.combobox4.currentIndex()))
print(self.combobox4.itemText(self.combobox4.currentIndex()))
print(self.combobox4.itemText(index)) if __name__ == "__main__":
app = QApplication(sys.argv)
w = Widget()
w.show()
sys.exit(app.exec_())

【PyQt5-Qt Designer】QComboBox(下拉列表框) 使用模板的更多相关文章

  1. PyQt5 & Qt Designer使用小结

    开始在知乎写文章的原因,主要还是想整理平时的经验,方便自己以后查看,有机会的话大家也可以交流吧. 11月中旬由于项目需要,和另一名实习生负责使用Python开发一个数据分析的小软件. 虽然才开始接触Q ...

  2. PyCharm+PyQt5+Qt Designer配置

    配置前提 因为本机已经配置完毕了,本次使用的是虚拟机中的Win7系统,Win10系统操作步骤完全一样,无任何区别 PyCharm (这个不多说,官网下载安装,我是用的是2019.3版本) Python ...

  3. 痞子衡嵌入式:超级好用的可视化PyQt GUI构建工具(Qt Designer)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是PyQt GUI构建工具Qt Designer. 痞子衡开博客至今已有好几年,一直以嵌入式开发相关主题的文章为主线,偶尔穿插一些其他技术 ...

  4. PyCharm+Qt Designer+PyUIC安装配置教程

    Qt Designer用于像VC++的MFC一样拖放.设计控件 PyUIC用于将Qt Designer生成的.ui文件转换成.py文件 Qt Designer和PyUIC都包含在PyQt5中,所以我们 ...

  5. pyqt5 在qt designer后以弹窗的方式连接多个UI图形界面

    当我们通过pyqt开发时,eric6为我们提供了一个方便的工具:图形化的绘制UI工具--qt designer. 我们可以通过它开发多个UI,然后利用信号-槽工具,将功能代码附着在上面.也可以将多个界 ...

  6. PyQt5(1)——Qt Designer初探

    相关环境配置我们就不介绍了(网上有很多教程) Qt Designer 是一款十分强大的GUI工具,生成的文件为 .UI文件  可以通过命令转化为Py文件,简单来说我们可以通过拖拽方式生成界面,在通过简 ...

  7. Win10安装PyQt5与Qt Designer【转】

    https://blog.csdn.net/u011342224/article/details/78879633 1.直接在cmd中通过pip安装PyQt5 1 pip install pyqt5 ...

  8. Win10安装PyQt5与Qt Designer

    1.直接在cmd中通过pip安装PyQt5 1 pip install pyqt5 会自动下载PyQt5以及sip并安装,因为PyQt5不再提供Qt Designer等工具,所以需要再安装pyqt5- ...

  9. pyqt5对用qt designer设计的窗体实现弹出子窗口的示例

    pyqt5对用qt designer设计的窗体实现弹出子窗口的示例 脚本专栏 python 1. 用qt designer编写主窗体,窗体类型是MainWindow,空白窗口上一个按钮.并转换成mai ...

随机推荐

  1. zabbix设置报警通知

    邮件通知是最流行的报警通知方式,这里配置邮件通知 1. 配置通知邮箱信息(发件人)的邮箱信息 2. 填写信息 3. 事件(Action)通知配置 点击创建动作 添加一个触发条件 点击添加 添加一个操作 ...

  2. 使用IEDA新建jsp项目以后使用javax.servlet.*报错

    新建一个jsp项目,然后再里面配置完了一切写了一个servlet的文件: 点击运行的时候出现了javax程序包不存在的错误,百度了许多都在说是tomcat的事情,吧tomcat/lib下面的servl ...

  3. JS基础---->javascript的基础(一)

    记录一些javascript的基础知识.只是一起走过一段路而已,何必把怀念弄的比经过还长. javascript的基础 一.在检测一个引用类型值和 Object 构造函数时, instanceof 操 ...

  4. 【Spring Boot&&Spring Cloud系列】Spring Boot初识

    项目代码地址:https://github.com/AndyFlower/Spring-Boot-Learn/tree/master/Spring-boot-helloworld 一.Spring B ...

  5. junit4 详解

    转:http://www.cnblogs.com/eggbucket/archive/2012/02/02/2335697.html JUnit4概述 JUnit4是JUnit框架有史以来的最大改进, ...

  6. C# CLR20R3 程序终止的几种解决方案

    这是因为.NET Framework 1.0 和 1.1 这两个版本对许多未处理异常(例如,线程池线程中的未处理异常)提供支撑,而 Framework 2.0 版中,公共语言运行库允许线程中的多数未处 ...

  7. sendfile Linux函数

    现在流行的 web 服务器里面都提供sendfile 选项用来提高服务器性能,那到底 sendfile 是什么,怎么影响性能的呢? sendfile 实际上是 Linux 2.0+ 以后的推出的一个系 ...

  8. MyBatis学习之输入输出类型

    1.  传递pojo对象 Mybatis使用ognl表达式解析对象字段的值,#{}或者${}括号中的值为pojo属性名称,其中,#{}:占位符号,好处防止sql注入,${}:sql拼接符号, 简要说明 ...

  9. 从浏览器输入URL到页面渲染的过程

    零.背景 一个web安全工程师在学习web安全和web渗透时候,非常有必要了解整个WEB工作过程. 一.输入URL 这里是最基本的知识:URL是URI的一种实际应用,URI统一资源表示符,URL统一资 ...

  10. 【CF700E】Cool Slogans 后缀自动机+线段树合并

    [CF700E]Cool Slogans 题意:给你一个字符串S,求一个最长的字符串序列$s_1,s_2,...,s_k$,满足$\forall s_i$是S的子串,且$s_i$在$s_{i-1}$里 ...