Pyqt5_QComboBox


QComboBox

是一個集按鈕和下拉選項於一體的控件,也稱做下拉列表框

方法
addItem()

添加一個下拉選項

addItems()

從列表中添加下拉選項

Clear()

刪除下拉選項集合中的所有選項

count()

返回下拉選項集合中的數目

currentText()

返回選中選項的文本

itemText(i)

獲取索引為i的item的選項文本

currentIndex()

返回選中項的索引

setItemText(int index,text)

改變序列號為index的文本

信號
Activated  

當用戶選中一個下拉選項時發射該信號

currentIndexChanged

當下拉選項的索引發生改變時發射該信號

highlighted      

當選中一個已經選中的下拉選項時,發射該信號

 

 1 baudrate_label = QLabel(' 波  特  率  ')  
 2         bytesize_label = QLabel(' 數  據  位'  ) 
 3         parity_label = QLabel(' 校  驗  位  ') 
 4         stopbit_label = QLabel(' 停  止  位  ')
 5         
 6         self.serialPort_combox = QComboBox()
 7         port_serial = mylib.getPort()
 8         i = 0
 9         for i in range(len(port_serial)):
10             self.serialPort_combox.addItem(str(port_serial[i]))#一個個添加
11         self.serialPort_combox.setCurrentIndex(len(port_serial)-1)#設置默認值為最后一個
12         self.baudrate_combox = QComboBox()
13         self.baudrate_combox.addItems(myconst.baudrate_list)#直接添加一個list
14         self.baudrate_combox.setCurrentText(myconst.baudrate_list[4])#設置默認選擇
15         #for item in myconst.baudrate_list:
16             #baudrate_combox.addItem(str(item))
17             
18         self.bytesize_combox = QComboBox()  
19         self.bytesize_combox.addItems(myconst.bytesizes)
20         self.bytesize_combox.setCurrentText(myconst.bytesizes[3])#設置默認選擇
21         self.parity_combox = QComboBox()
22         self.parity_combox.addItems(myconst.parity_list)
23         self.stopbit_combox = QComboBox()
24         self.stopbit_combox.addItems(myconst.stop_bits)
25         self.stopbit_combox.setCurrentIndex(0)
26         #將以上控件添加到formlayout布局中
27         flayout_1.addRow(serialPort_label, self.serialPort_combox)
28         flayout_1.addRow(baudrate_label, self.baudrate_combox)
29         flayout_1.addRow(bytesize_label, self.bytesize_combox)
30         flayout_1.addRow(parity_label, self.parity_combox)
31         flayout_1.addRow(stopbit_label, self.stopbit_combox)
32         #將布局添加到paraConf_combox (QGroupBox) 中
33         self.portSetting_groupbox.setLayout(flayout_1)

 

 1 import sys
 2 from PyQt5.QtCore import *
 3 from PyQt5.QtWidgets import *
 4 from PyQt5.QtCore import *
 5 
 6 class ComboxDemo(QWidget):
 7     def __init__(self,parent=None):
 8         super(ComboxDemo, self).__init__(parent)
 9         #設置標題
10         self.setWindowTitle('ComBox例子')
11         #設置初始界面大小
12         self.resize(300,90)
13 
14         #垂直布局
15         layout=QVBoxLayout()
16         #創建標簽,默認空白
17         self.btn1=QLabel('')
18 
19         #實例化QComBox對象
20         self.cb=QComboBox()
21         #單個添加條目
22         self.cb.addItem('C')
23         self.cb.addItem('C++')
24         self.cb.addItem('Python')
25         #多個添加條目
26         self.cb.addItems(['Java','C#','PHP'])
27         #當下拉索引發生改變時發射信號觸發綁定的事件
28         self.cb.currentIndexChanged.connect(self.selectionchange)
29 
30         #控件添加到布局中,設置布局
31         layout.addWidget(self.cb)
32         layout.addWidget(self.btn1)
33         self.setLayout(layout)
34 
35     def selectionchange(self,i):
36         #標簽用來顯示選中的文本
37         #currentText():返回選中選項的文本
38         self.btn1.setText(self.cb.currentText())
39         print('Items in the list are:')
40         #輸出選項集合中每個選項的索引與對應的內容
41         #count():返回選項集合中的數目
42         for count in range(self.cb.count()):
43             print('Item'+str(count)+'='+self.cb.itemText(count))
44             print('current index',i,'selection changed',self.cb.currentText())
45 
46 if __name__ == '__main__':
47     app=QApplication(sys.argv)
48     comboxDemo=ComboxDemo()
49     comboxDemo.show()
50     sys.exit(app.exec_())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM