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) | 改變序列號為index的文本 |
QComboBox類中的常用信號
| 信號 | 含義 |
|---|---|
| Activated | 當(dāng)用戶選中一個(gè)下拉選項(xiàng)時(shí)發(fā)射該信號 |
| currentIndexChanged | 當(dāng)下拉選項(xiàng)的索引發(fā)生改變時(shí)發(fā)射該信號 |
| highlighted | 當(dāng)選中一個(gè)已經(jīng)選中的下拉選項(xiàng)時(shí),發(fā)射該信號 |
下拉列表框控件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對象
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ā)射信號觸發(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)的索引與對應(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信號,鏈接到自定義的槽函數(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的知識請查看下面的相關(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-05
Python?數(shù)據(jù)清洗刪除缺失值替換缺失值詳情
這篇文章主要介紹了Python?數(shù)據(jù)清洗刪除缺失值替換缺失值詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
Python使用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-03
Python lambda 匿名函數(shù)優(yōu)點(diǎn)和局限性深度總結(jié)
這篇文章主要為大家介紹了Python lambda 匿名函數(shù)的優(yōu)點(diǎn)和局限性深度總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
詳解Python 協(xié)程的詳細(xì)用法使用和例子
這篇文章主要介紹了詳解Python 協(xié)程的詳細(xì)用法和例子,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06

