【PyQt5-Qt Designer】QComboBox(下拉列表框) 使用模板


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(下拉列表框) 使用模板的更多相关文章
- PyQt5 & Qt Designer使用小结
开始在知乎写文章的原因,主要还是想整理平时的经验,方便自己以后查看,有机会的话大家也可以交流吧. 11月中旬由于项目需要,和另一名实习生负责使用Python开发一个数据分析的小软件. 虽然才开始接触Q ...
- PyCharm+PyQt5+Qt Designer配置
配置前提 因为本机已经配置完毕了,本次使用的是虚拟机中的Win7系统,Win10系统操作步骤完全一样,无任何区别 PyCharm (这个不多说,官网下载安装,我是用的是2019.3版本) Python ...
- 痞子衡嵌入式:超级好用的可视化PyQt GUI构建工具(Qt Designer)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是PyQt GUI构建工具Qt Designer. 痞子衡开博客至今已有好几年,一直以嵌入式开发相关主题的文章为主线,偶尔穿插一些其他技术 ...
- PyCharm+Qt Designer+PyUIC安装配置教程
Qt Designer用于像VC++的MFC一样拖放.设计控件 PyUIC用于将Qt Designer生成的.ui文件转换成.py文件 Qt Designer和PyUIC都包含在PyQt5中,所以我们 ...
- pyqt5 在qt designer后以弹窗的方式连接多个UI图形界面
当我们通过pyqt开发时,eric6为我们提供了一个方便的工具:图形化的绘制UI工具--qt designer. 我们可以通过它开发多个UI,然后利用信号-槽工具,将功能代码附着在上面.也可以将多个界 ...
- PyQt5(1)——Qt Designer初探
相关环境配置我们就不介绍了(网上有很多教程) Qt Designer 是一款十分强大的GUI工具,生成的文件为 .UI文件 可以通过命令转化为Py文件,简单来说我们可以通过拖拽方式生成界面,在通过简 ...
- Win10安装PyQt5与Qt Designer【转】
https://blog.csdn.net/u011342224/article/details/78879633 1.直接在cmd中通过pip安装PyQt5 1 pip install pyqt5 ...
- Win10安装PyQt5与Qt Designer
1.直接在cmd中通过pip安装PyQt5 1 pip install pyqt5 会自动下载PyQt5以及sip并安装,因为PyQt5不再提供Qt Designer等工具,所以需要再安装pyqt5- ...
- pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例 脚本专栏 python 1. 用qt designer编写主窗体,窗体类型是MainWindow,空白窗口上一个按钮.并转换成mai ...
随机推荐
- 【RF库XML测试】parse xml
Name:Parse XmlSource:XML <test library>Arguments:[ source | keep_clark_notation=False ]Parses ...
- SaltStack 使用 Jinja2 模板
Jinja2 是基于 python 的一个模板引擎,如下,使用 Jinja2 实现根据不同的操作系统分发不同的文件: [root@localhost ~]$ cat /srv/salt/test.sl ...
- bat批处理文件按顺序执行exe
start /d "deepstream.io-windows-3.1.0" deepstream.exe rem 等待1秒钟 choice /t 1 /d y /n cd &qu ...
- 执行Batch批处理遇到的问题
1.务必关掉自动提交 增强执行效率 conn.setAutoCommit(false); 2.executeBatch失效问题 <1>务必将语句pstmt = conn.prepareSt ...
- No.1 PyQt学习
由于项目的原因,要学PyQt了.以下是第一天的学习成果 # -*- coding: utf-8 -*- import sys from PyQt4 import QtGui, QtCore class ...
- numpy常用举例
转自https://morvanzhou.github.io/tutorials/data-manipulation/np-pd/2-1-np-attributes/ numpy 的属性: ndim: ...
- openlayers中利用vector实现marker的方式
项目需要一个小型的gis.openlayers,geoserver,postgres组合是比较好的选择. openlayers的marker层好像不支持拖动操作.通过研究api发现,可以利用vecto ...
- 【Web前端开发最佳实践系列】标准的HTML代码
一.验证代码是否符合标准 优点: 标准的页面会保证浏览器正确的渲染 网页能更容易被搜索引擎搜索,提高网站的搜索排名 提高网站的易用性 网页更好维护和扩展 常用工具: W3 Validator HTML ...
- Android Studio 3.1.2 版本包下载
Android Studio 3.1.2 bug 修复版已发布,本次更新修复了一些错误,并改进了某些场景下 lint 审查的速度.详细的修复内容请查看 Android Studio 3.1.2 的发布 ...
- 【CF720D】Slalom 扫描线+线段树
[CF720D]Slalom 题意:一个n*m的网格,其中有k个矩形障碍,保证这些障碍不重叠.问你从(1,1)走到(n,m),每步只能往右或往上走,不经过任何障碍的方案数.两种方案被视为不同,当且仅当 ...