PyQt5之QComboBox下拉列表框
QComboBox是一个集按钮和下拉选项于一体的控件,也被称为下拉列表框。
一、QComboBox类中的常用方法
方法 | 描述 |
---|---|
addItem() | 添加一个下拉选项 |
addItems() | 从列表中添加下拉选项 |
Clear() | 删除下拉选项集合中的所有选项 |
count() | 返回下拉选项集合中的数目 |
currentText() | 返回选中选项的文本 |
itemText(i) | 获取索引为 i 的 item 的选项文本 |
currentIndex() | 返回选中项的索引 |
setItemText(int index,text) | 改变序号为 index 项的文本 |
二、QComboBox类中的常用信号
信号 | 含义 |
---|---|
Activated | 当用户选中一个下拉选项时发射该信号 |
currentIndexChanged | 当下拉选项的索引发生改变时发射该信号 |
highlighted | 当选中一个已经选中的下拉选项时,发射该信号 |
三、QComboBox按钮的使用
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class Win(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(200, 200, 400, 400)
self.setWindowTitle('QComboBox的使用')
self.lb1 = QLabel('')
self.cb = QComboBox()
self.cb.addItem('C')
self.cb.addItem('C++')
self.cb.addItems(['Java','Python','C#'])
self.cb.currentIndexChanged.connect(self.selectionchange)
layout = QVBoxLayout()
layout.addWidget(self.cb)
layout.addWidget(self.lb1)
self.setLayout(layout)
def selectionchange(self,i):
self.lb1.setText(self.cb.currentText())
print('Items in the list are:')
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)
form = Win()
form.show()
sys.exit(app.exec_())
运行效果如下: