下拉选择框QCombox

继承于 QWidget
下拉列表框样式如图:

import sys
from PyQt5.QtWidgets import QApplication, QWidget,QPushButton,QComboBox,QCompleter
from PyQt5.QtGui import QIcon,QValidator
from PyQt5.QtCore import QSize class Demo(QWidget):
def __init__(self):
super().__init__()
self.resize(300,300)
def A():
s=cb.count() #获取项目总数--包括分割线
s = cb.currentIndex() # 获取当前项目的索引
s = cb.currentText() # 取当前项目的文本
s = cb.currentData() # 获取当前项目的用户附加的数据
s=cb.itemIcon(2) #获取指定索引项目的图标对象
s=cb.itemData(3) #获取指定索引项目的用户附加的数据
s=cb.itemText(3) #获取指定索引项目的文本 print(s) def B():
#cb.setMaxCount(4) # 设置最大存储项目总数
#达到指定项目总数后,不能再添加
#maxCount() 返回最大可存储项目总数
#cb.setMaxVisibleItems(3) #设置可见的项目总数
#maxVisibleItems() 返回可见的项目总数 #cb.clear() #清空所有项目 #cb.clearEditText() #只是清空当前编辑框中的文本--不改变项目数 #cb.showPopup() #弹出下拉框 pass btn=QPushButton('获取数据',self)
btn.move(80,250)
btn.clicked.connect(A)
btn1 = QPushButton('按钮1', self)
btn1.move(160, 250)
btn1.clicked.connect(B)
cb=QComboBox(self) #构造出一个空白的下拉列表控件
cb.move(100,20) cb.addItem('天津','a') #添加一个项目
#参数1 项目-必须是文本
#参数2 用户附加数据-任何类型
cb.addItem(QIcon(r'大象1.png'),'北京','b') #添加一个项目--带图标
cb.addItems(['上海','浙江']) #添加项目序列
#参数 可迭代的数据 cb.insertItem(1,'重庆','c') #插入一个项目
#参数1 索引号
cb.insertItem(1, QIcon(r'大象1.png'),'西安','d') # 插入一个项目--带图标
cb.insertItems(1,['辽宁','黑龙江']) #插入项目序列
#参数2 可迭代的数据 cb.setItemIcon(2,QIcon(r'大象1.png')) #给指定索引项目设置图标
cb.setItemText(7,'蒙古') #给指定索引项目设置文本---原有文本被覆盖
#cb.removeItem(7) #删除指定索引的项目 cb.insertSeparator(4) #插入分割线---分割线做为指定索引项目 cb.setCurrentIndex(2) #指定索引项目为当前项目--默认是第0项目
cb.setCurrentText('西安') #根据文本指定当前项目
#如果参数所指的项目不存在的话就无效 cb.setEditable(True) #编辑框能否被编辑
#在编辑框中编辑文本回车之后,会追加到项目尾部
#isEditable() 返回能否被编辑 #cb.setEditText('广东') #设置编辑框中的文本
#只有setEditable设为True,setEditText才有效
#按了回车键 会追加到项目尾部 cb.setDuplicatesEnabled(True) #是否可重复
#设置为True时,编辑框按回车时追加的项目可以重复
#duplicatesEnabled() 返回是否可重复 cb.setFrame(True) #是否有框架--是否有外框
#setEditable 设置为True时 setFrame才有效果
#hasFrame() 返回是否有框架 cb.setIconSize(QSize(40,40)) #设置图标尺寸
#iconSize() 返回图标尺寸 cb.setSizeAdjustPolicy(QComboBox.AdjustToContents) #尺寸调整策略
#QComboBox.AdjustToContents 组合框将始终根据最长内容进行调整
#QComboBox.AdjustToContentsOnFirstShow 组合框将在第一次显示时调整其内容。
#QComboBox.AdjustToMinimumContentsLengthWithIcon 组合框将调整为minimumContentsLength加上图标的空间。出于性能原因,请在大型模型上使用此策略。 cl = QCompleter(['1abc', 'gfds', 'yur', 'aew'])
#参数 可迭代的
cb.setCompleter(cl) # 设置完成器--自动补全 #cb.setValidator() #设置验证器
#参照:单行输入文本框 #信号:
#cb.activated.connect(self.AA) #某个条目被选中时,必须是用户交互, 造成的值改变才会发射这个信号
#会向槽函数传递一个int值--被选中项目的索引号 #cb.activated[str].connect(self.BB) # 某个条目被选中时,必须是用户交互, 造成的值改变才会发射这个信号
# 会向槽函数传递一个字符串--被选中项目的文本 #cb.currentIndexChanged.connect(self.CC) #当前选中的索引发生改变时-用户交互,代码控制
# 会向槽函数传递一个int值--被选中项目的索引号 #cb.currentIndexChanged[str].connect(self.DD) # 当前选中的索引发生改变时-用户交互,代码控制
# 会向槽函数传递一个字符串--被选中项目的文本 #cb.currentTextChanged.connect(self.EE) #当前的文本内容发生改变时
# 会向槽函数传递一个字符串--文本框中的文本 #cb.editTextChanged.connect(self.FF) #编辑的文本发生改变时
#setEditable设置为True时,文本框中的文本发生改变时 #cb.highlighted.connect(self.GG) #高亮发生改变时--在下拉列表框中鼠标所选的项目发生变化时
# 会向槽函数传递一个int值--高亮项目的索引号 cb.highlighted[str].connect(self.HH) #高亮发生改变时--在下拉列表框中鼠标所选的项目发生变化时
# 会向槽函数传递一个字符串--高亮项目的文本 def HH(self,x):
print('高亮改变了',x)
def GG(self,x):
print('高亮改变了',x)
def AA(self,x):
print('你的选择改变了',x)
def BB(self,x):
print('你的选择改变了',x)
def CC(self,x):
print('你的选择改变了',x)
def DD(self,x):
print('你的选择改变了',x)
def EE(self,x):
print('文本改变了',x)
def FF(self,x):
print('编辑文本改变了',x) if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Demo()
demo.show()
sys.exit(app.exec_())
天子骄龙
下拉选择框QCombox的更多相关文章
- java、easyui-combotree树形下拉选择框
最近一直在研究这个树形的下拉选择框,感觉非常的有用,现在整理下来供大家使用: 首先数据库的表架构设计和三级菜单联动的表结构是一样,(父子关系) 1.下面我们用hibernate建一下对应的额实体类: ...
- FancySelect – 更好用的 jQuery 下拉选择框插件
FancySelect 这款插件是 Web 开发中下拉框功能的一个更好的选择.FancySelect 使用方便,只要绑定页面上的任何 Select 元素,并调用就 .fancySelect() 就可以 ...
- HTML、CSS小知识--兼容IE的下拉选择框select
HTML <div class="s_h_ie"> <select id="Select1" disabled="disabled& ...
- Bootstrap系列 -- 15. 下拉选择框select
Bootstrap框架中的下拉选择框使用和原始的一致,多行选择设置multiple属性的值为multiple.Bootstrap框架会为这些元素提供统一的样式风格 <form role=&quo ...
- CSS自定义select下拉选择框(不用其他标签模拟)
今天群里有人问到怎么自定义select下拉选择框的样式,于是群里就展开了激烈的讨论,刚开始一直就是考虑怎样使用纯CSS实现,把浏览器默认的样式覆盖掉,但最后均因兼容问题处理不好而失败告终,最后的解决方 ...
- 基于jQuery美化联动下拉选择框
今天给大家介绍一款基于jQuery美化联动下拉选择框.这款下下拉选择框js里自带了全国所有城市的数数库.下拉选择框适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲 ...
- ul+jquery自定义下拉选择框
<!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...
- 背水一战 Windows 10 (105) - 通知(Toast): 带按钮的 toast, 带输入的 toast(文本输入框,下拉选择框)
[源码下载] 背水一战 Windows 10 (105) - 通知(Toast): 带按钮的 toast, 带输入的 toast(文本输入框,下拉选择框) 作者:webabcd 介绍背水一战 Wind ...
- jQuery插件——下拉选择框
其实,之前也写过jQuery插件,今天写的是一个模拟select选择的下拉插件. 既然是jQuery插件,那么必然是依赖jQuery的了. 老规矩,直接上代码吧! ;(function () { $. ...
随机推荐
- jquery stop()、callback、鏈接
stop(stopAll,goToEnd) stop適用於所有的效果,包括顯示隱藏.滑動.淡入淡出和動畫. stopAll默認值為false,清除當前動畫,可以向後執行下一動畫調用,黨改為true,清 ...
- 51nod-1459-迷宫游戏
题意:中文题目.. 解题思路:我的做法就是单源最短路中加个记录分数的数组,如果dis[i]到dis[x]的距离可以被优化,那就连记录分数的数组一起优化,如果第二条路和第一条路的距离相等,那就取最大的分 ...
- iTunes 12.7 没有应用程序选项了,重新安装iTunes 12.6.3
iTunes 12.6.3 下载地址: Mac http://t.cn/RO5rIfE Win 32 http://t.cn/ROtta1T Win64 http://t.cn/ROtta1n 安装好 ...
- 微信access_token请求之简单缓存方法封装
还有东西要搞,就直接上代码 function.php <?php // 一个好玩的 curl 类 // https://github.com/metowolf/Meting/blob/maste ...
- LOJ #2540. 「PKUWC 2018」随机算法(概率dp)
题意 LOJ #2540. 「PKUWC 2018」随机算法 题解 朴素的就是 \(O(n3^n)\) dp 写了一下有 \(50pts\) ... 大概就是每个点有三个状态 , 考虑了但不在独立集中 ...
- Raid卷详解
#RAID卷 独立磁盘冗余阵列RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术.组成磁盘阵列的不同方式成为R ...
- CF438E The Child and Binary Tree(生成函数,NTT)
题目链接:洛谷 CF原网 题目大意:有 $n$ 个互不相同的正整数 $c_i$.问对于每一个 $1\le i\le m$,有多少个不同形态(考虑结构和点权)的二叉树满足每个点权都在 $c$ 中出现过, ...
- ASP.NET服务器端控件原理分析
服务器端控件触发事件分两种: 1.服务器端控件Button被渲染成客户端的 <input type="submit" name="Button1" val ...
- C# 面向对象零碎知识点
obgect: 所有数据类型都是obgect类型: 万能类型 var :原来的变量不变,替换成var: 动态类型 dynamic :类似object,遍历需要转: is as: 类型转换运算符: ( ...
- JAVA:当数据库重启后连接池没有自动识别的解决办法
今天发现服务器上的一个服务程序出现问题,软件抛出:Connection reset by peer: socket write error 无法正常提供服务,找了一下原因,原来是因为数据库服务器重启, ...