PyQt5 下拉列表控件
# @Time : 2021/4/16 18:44
# @Author : Kevin
# @File : C.py
# @Software: PyCharm
# encoding = utf-8
"""
下拉列表控件(QComboBox)
1、如何将列表项添加到QComboBox控件中
2、如何获取选中得列表项
"""
import sys
from PyQt5.QtCore import * # 核心
from PyQt5.QtGui import * # 图形用户界面
from PyQt5.QtWidgets import * # 小工具
class QComboBoxDemo(QWidget):
def __init__(self):
super(QComboBoxDemo, self).__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('下拉列表控件演示')
self.resize(500, 300)
layout = QVBoxLayout()
self.label = QLabel('请选择编程语言')
self.cb = QComboBox()
self.cb.addItem('C++')
self.cb.addItem('Python')
self.cb.addItems(['Java', 'C#', 'Ruby'])
# self.cb.currentIndexChanged是信号, self.selectionChange是槽
self.cb.currentIndexChanged.connect(self.selectionChange) # 绑定信号和槽
layout.addWidget(self.label)
layout.addWidget(self.cb)
self.setLayout(layout)
def selectionChange(self, i):
self.label.setText(self.cb.currentText())
self.label.adjustSize()
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)
main = QComboBoxDemo()
main.show()
sys.exit(app.exec_())