python GUI庫(kù)圖形界面開(kāi)發(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)簽用來(lái)顯示選中的文本
#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)簽用來(lái)顯示選中的文本
#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 PySpider爬蟲(chóng)框架安裝使用教程
PySpider是一個(gè)Python編寫(xiě)的分布式網(wǎng)絡(luò)爬蟲(chóng)框架,它可以幫助開(kāi)發(fā)者快速構(gòu)建和部署爬蟲(chóng),并支持爬蟲(chóng)任務(wù)的分布式運(yùn)行,PySpider基于Twisted網(wǎng)絡(luò)框架和MongoDB數(shù)據(jù)庫(kù),具有高效、穩(wěn)定、易用等特點(diǎn),同時(shí)還提供了一套Web界面,可以方便地查看爬蟲(chóng)任務(wù)的運(yùn)行狀態(tài)和結(jié)果2023-11-11
Python內(nèi)置函數(shù)——__import__ 的使用方法
本篇文章主要介紹了Python內(nèi)置函數(shù)——__import__ 的使用方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
macbook安裝環(huán)境chatglm2-6b的詳細(xì)過(guò)程
這篇文章主要介紹了macbook安裝chatglm2-6b的過(guò)程詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
天翼開(kāi)放平臺(tái)免費(fèi)短信驗(yàn)證碼接口使用實(shí)例
天翼開(kāi)放平臺(tái)提供了一個(gè)免費(fèi)的短信驗(yàn)證碼API,下面看看使用方法吧,我們用python開(kāi)發(fā)接口2013-12-12
python 安裝virtualenv和virtualenvwrapper的方法
下面小編就為大家?guī)?lái)一篇python 安裝virtualenv和virtualenvwrapper的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01
解決Jupyter Notebook “signal only works&nb
這篇文章主要介紹了解決Jupyter Notebook “signal only works in main thread“問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
一文解決django 2.2與mysql兼容性問(wèn)題
Django是一個(gè)開(kāi)放源代碼的Web應(yīng)用框架,由Python寫(xiě)成。采用了MTV的框架模式,即模型M,視圖V和模版T。這篇文章主要介紹了解決django 2.2與mysql兼容性問(wèn)題,需要的朋友可以參考下2020-07-07

