python GUI庫圖形界面開發(fā)之PyQt5下拉列表框控件QComboBox詳細(xì)使用方法與實(shí)例
PyQt5下拉列表框控件QComboBox介紹
QComboBox是一個(gè)集按鈕和下拉選項(xiàng)于一體的控件,也稱做下拉列表框
QComboBox類中的常用方法如表
方法 | 描述 |
---|---|
addItem() | 添加一個(gè)下拉選項(xiàng) |
addItems() | 從列表中添加下拉選項(xiàng) |
Clear() | 刪除下拉選項(xiàng)集合中的所有選項(xiàng) |
count() | 返回下拉選項(xiàng)集合中的數(shù)目 |
currentText() | 返回選中選項(xiàng)的文本 |
itemText(i) | 獲取索引為i的item的選項(xiàng)文本 |
currentIndex() | 返回選中項(xiàng)的索引 |
setItemText(int index,text) | 改變序列號(hào)為index的文本 |
QComboBox類中的常用信號(hào)
信號(hào) | 含義 |
---|---|
Activated | 當(dāng)用戶選中一個(gè)下拉選項(xiàng)時(shí)發(fā)射該信號(hào) |
currentIndexChanged | 當(dāng)下拉選項(xiàng)的索引發(fā)生改變時(shí)發(fā)射該信號(hào) |
highlighted | 當(dāng)選中一個(gè)已經(jīng)選中的下拉選項(xiàng)時(shí),發(fā)射該信號(hào) |
下拉列表框控件QComboBox按鈕的使用實(shí)例
import sys from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtCore import * class ComboxDemo(QWidget): def __init__(self,parent=None): super(ComboxDemo, self).__init__(parent) #設(shè)置標(biāo)題 self.setWindowTitle('ComBox例子') #設(shè)置初始界面大小 self.resize(300,90) #垂直布局 layout=QVBoxLayout() #創(chuàng)建標(biāo)簽,默認(rèn)空白 self.btn1=QLabel('') #實(shí)例化QComBox對(duì)象 self.cb=QComboBox() #單個(gè)添加條目 self.cb.addItem('C') self.cb.addItem('C++') self.cb.addItem('Python') #多個(gè)添加條目 self.cb.addItems(['Java','C#','PHP']) #當(dāng)下拉索引發(fā)生改變時(shí)發(fā)射信號(hào)觸發(fā)綁定的事件 self.cb.currentIndexChanged.connect(self.selectionchange) #控件添加到布局中,設(shè)置布局 layout.addWidget(self.cb) layout.addWidget(self.btn1) self.setLayout(layout) def selectionchange(self,i): #標(biāo)簽用來顯示選中的文本 #currentText():返回選中選項(xiàng)的文本 self.btn1.setText(self.cb.currentText()) print('Items in the list are:') #輸出選項(xiàng)集合中每個(gè)選項(xiàng)的索引與對(duì)應(yīng)的內(nèi)容 #count():返回選項(xiàng)集合中的數(shù)目 for count in range(self.cb.count()): print('Item'+str(count)+'='+self.cb.itemText(count)) print('current index',i,'selection changed',self.cb.currentText()) if __name__ == '__main__': app=QApplication(sys.argv) comboxDemo=ComboxDemo() comboxDemo.show() sys.exit(app.exec_())
效果圖如下
下拉列表框控件QComboBox代碼分析:
在這個(gè)例子中顯示了一個(gè)下拉列表框和一個(gè)標(biāo)簽,其中下拉列表框中有幾個(gè)選項(xiàng),既可以使用QCombobox的addItem()方法添加單個(gè)選項(xiàng),也可以使用addItems()方法添加多個(gè)選項(xiàng):標(biāo)簽顯示的是從下拉列表框中選擇的選項(xiàng)
#單個(gè)添加條目 self.cb.addItem('C') self.cb.addItem('C++') self.cb.addItem('Python') #多個(gè)添加條目 self.cb.addItems(['Java','C#','PHP'])
當(dāng)下拉列表框選中的選項(xiàng)發(fā)生改變時(shí)將發(fā)射currentIndexChanged信號(hào),鏈接到自定義的槽函數(shù)selectionChange()
self.cb.currentIndexChanged.connect(self.selectionchange)
在方法中,當(dāng)選中下拉列表框中的一個(gè)選項(xiàng)時(shí),將把該選項(xiàng)文本設(shè)置為標(biāo)簽的文本,并調(diào)整標(biāo)簽的大小
def selectionchange(self,i): #標(biāo)簽用來顯示選中的文本 #currentText():返回選中選項(xiàng)的文本 self.btn1.setText(self.cb.currentText())
本文詳細(xì)介紹了PyQt5下拉列表框控件QComboBox詳細(xì)使用方法與實(shí)例,更多關(guān)于PyQt5下拉列表框控件QComboBox的知識(shí)請(qǐng)查看下面的相關(guān)鏈接
相關(guān)文章
Python NumPy實(shí)現(xiàn)數(shù)組排序與過濾示例分析講解
NumPy是Python的一種開源的數(shù)值計(jì)算擴(kuò)展,它支持大量的維度數(shù)組與矩陣運(yùn)算,這篇文章主要介紹了使用NumPy實(shí)現(xiàn)數(shù)組排序與過濾的方法,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-05-05Python?數(shù)據(jù)清洗刪除缺失值替換缺失值詳情
這篇文章主要介紹了Python?數(shù)據(jù)清洗刪除缺失值替換缺失值詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09Python使用Gradio實(shí)現(xiàn)免費(fèi)的內(nèi)網(wǎng)穿透
內(nèi)網(wǎng)穿透是一種將內(nèi)部網(wǎng)絡(luò)服務(wù)暴露到公共網(wǎng)絡(luò)的技術(shù),可以讓外部用戶訪問內(nèi)部網(wǎng)絡(luò)上的服務(wù),本文將介紹如何使用Gradio實(shí)現(xiàn)免費(fèi)的內(nèi)網(wǎng)穿透,需要的可以參考下2024-03-03Python lambda 匿名函數(shù)優(yōu)點(diǎn)和局限性深度總結(jié)
這篇文章主要為大家介紹了Python lambda 匿名函數(shù)的優(yōu)點(diǎn)和局限性深度總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08python實(shí)現(xiàn)簡(jiǎn)單登陸流程的方法
下面小編就為大家分享一篇python實(shí)現(xiàn)簡(jiǎn)單登陸流程的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04詳解Python 協(xié)程的詳細(xì)用法使用和例子
這篇文章主要介紹了詳解Python 協(xié)程的詳細(xì)用法和例子,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06Python簡(jiǎn)單計(jì)算文件MD5值的方法示例
這篇文章主要介紹了Python簡(jiǎn)單計(jì)算文件MD5值的方法,涉及Python文件讀取、hash運(yùn)算及md5加密等相關(guān)操作技巧,需要的朋友可以參考下2018-04-04