下拉选择框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 () { $. ...
随机推荐
- Tomcat7/8访问Server Status、Manager App、Host Manager出现403 forbidden
在配置好Tomcat7/8后,我们往往需要访问Tomcat7/8的Manager以及Host Manager.就需要在tomcat-users.xml中配置用户角色来实现.在地址栏输入:localho ...
- js 消息框
消息框有三種:警告框.提示框.確認框 警告框: 確保用戶可以得到某些信息. 點擊確定以後,才能繼續後續操作. alert("不好") 確認框: 請用戶確認或者接受某些信息. 點擊確 ...
- js this小记
在JavaScript中,this 对象是在函数被调用时动态定义的. JS中有三种方法来设置this对象: someThing.someFunction(arg1, arg2, argN) someF ...
- linux利用CMakeLists编译程序或生成库文件
#设置CMAKE最低版本 CMAKE_MINIMUM_REQUIRED(VERSION 2.8) #设置项目名称 SET(PROJECT_NAME Image_Test_01) #建立项目 PROJE ...
- 经典Java面试题收集
1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注这些 ...
- hdu1728 逃离迷宫
给定一个m × n (m行, n列)的迷宫,迷宫中有两个位置,gloria想从迷宫的一个位置走到另外一个位置,当然迷宫中有些地方是空地,gloria可以穿越,有些地方是障碍,她必须绕行,从迷宫的一个位 ...
- 17 利用Zabbix完成VMare监控
点击返回:自学Zabbix之路 17 利用Zabbix完成VMare监控 最近在研究通过Zabbix监控VMware vSphere,Zabbix Documentation 3.0 从文档中我们看到 ...
- 自学Aruba6.2-控制器基本维护操作(web页面配置)
点击返回:自学Aruba之路 自学Aruba6.2-控制器基本维护操作(web页面配置) 1 显示当前控制器版本 Dashboard---Controller中 2 升级Aruab os版本 Main ...
- 洛谷 P1158 导弹拦截(不是那个DP) 解题报告
P1158 导弹拦截 题目描述 经过1111年的韬光养晦,某国研发出了一种新的导弹拦截系统,凡是与它的距离不超过其工作半径的导弹都能够被它成功拦截.当工作半径为0时,则能够拦截与它位置恰好相同的导弹. ...
- POSIX 线程取消点的 Linux 实现
http://blog.csdn.net/stevenliyong/article/details/4364039 原文链接:http://blog.solrex.cn/articles/linux- ...