您好,登錄后才能下訂單哦!
怎么在python中使用QComboBox下拉列表框控件?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
QComboBox是一個集按鈕和下拉選項于一體的控件,也稱做下拉列表框
QComboBox類中的常用方法如表
方法 | 描述 |
---|---|
addItem() | 添加一個下拉選項 |
addItems() | 從列表中添加下拉選項 |
Clear() | 刪除下拉選項集合中的所有選項 |
count() | 返回下拉選項集合中的數目 |
currentText() | 返回選中選項的文本 |
itemText(i) | 獲取索引為i的item的選項文本 |
currentIndex() | 返回選中項的索引 |
setItemText(int index,text) | 改變序列號為index的文本 |
信號 | 含義 |
---|---|
Activated | 當用戶選中一個下拉選項時發射該信號 |
currentIndexChanged | 當下拉選項的索引發生改變時發射該信號 |
highlighted | 當選中一個已經選中的下拉選項時,發射該信號 |
下拉列表框控件QComboBox按鈕的使用實例
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) #設置標題 self.setWindowTitle('ComBox例子') #設置初始界面大小 self.resize(300,90) #垂直布局 layout=QVBoxLayout() #創建標簽,默認空白 self.btn1=QLabel('') #實例化QComBox對象 self.cb=QComboBox() #單個添加條目 self.cb.addItem('C') self.cb.addItem('C++') self.cb.addItem('Python') #多個添加條目 self.cb.addItems(['Java','C#','PHP']) #當下拉索引發生改變時發射信號觸發綁定的事件 self.cb.currentIndexChanged.connect(self.selectionchange) #控件添加到布局中,設置布局 layout.addWidget(self.cb) layout.addWidget(self.btn1) self.setLayout(layout) def selectionchange(self,i): #標簽用來顯示選中的文本 #currentText():返回選中選項的文本 self.btn1.setText(self.cb.currentText()) print('Items in the list are:') #輸出選項集合中每個選項的索引與對應的內容 #count():返回選項集合中的數目 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的addItem()方法添加單個選項,也可以使用addItems()方法添加多個選項:標簽顯示的是從下拉列表框中選擇的選項
#單個添加條目 self.cb.addItem('C') self.cb.addItem('C++') self.cb.addItem('Python') #多個添加條目 self.cb.addItems(['Java','C#','PHP'])
當下拉列表框選中的選項發生改變時將發射currentIndexChanged信號,鏈接到自定義的槽函數selectionChange()
self.cb.currentIndexChanged.connect(self.selectionchange)
在方法中,當選中下拉列表框中的一個選項時,將把該選項文本設置為標簽的文本,并調整標簽的大小
def selectionchange(self,i): #標簽用來顯示選中的文本 #currentText():返回選中選項的文本 self.btn1.setText(self.cb.currentText())
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。