
'''
下拉列表控件 QComboBox
1、如何将列表添加到QComboBox控件中
2、如何获取选中的列表项
'''
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel, QComboBox
class QComboBoxDemo(QWidget):
def __init__(self):
super(QComboBoxDemo, self).__init__()
self.initUI()
def initUI(self):
# 设置窗体的标题
self.setWindowTitle("下拉列表空间的演示")
# 调整窗体大小
self.resize(300, 100)
# 使用垂直布局
layout = QVBoxLayout()
# 创建一个标签控件
self.label = QLabel('请选编程的语言')
# 创建下拉列表控件
self.cb = QComboBox()
# 添加可选内容
self.cb.addItem('C')
self.cb.addItem('C++')
self.cb.addItem('Python')
# 以列表形式添加内容
self.cb.addItems(['Java', 'C#', 'Ruby'])
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('选项' + str(count) + '=' + self.cb.itemText(count))
print('当前索引', i, '选项被改变', self.cb.currentText())
if __name__ == '__main__':
# 通过类创建一个应用
app = QApplication(sys.argv)
# 创建一个窗口
w = QComboBoxDemo()
# 这只窗口大小
# w.resize(600,400)
# 给窗口一个定位
# w.move(200,100)
# 设置窗口的标题
# w.setWindowTitle('引入 QTDesigner 设计的 UI')
# 实例化UI类
# ui = mwUI.mwUI()
# 初始化UI
# ui.setupUi(w)
# 让窗口显示
w.show()
sys.exit(app.exec_())