QComboBox主要实现下拉列表,以及选中列表中元素的回调,回调方法和QPushButton类似,都是基于Qt的信号和槽实现。
#-*- coding:utf-8 -*-
import sys
from PyQt5.QtWidgets import (QApplication,QWidget,QLabel,QComboBox)
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.lbl = QLabel("MacOS",self)
combo = QComboBox(self)
combo.addItem("MacOs")
combo.addItem("Ubuntu")
combo.addItem("Fedora")
combo.addItem("Arch")
combo.addItem("Gentoo")
combo.move(50,50)
self.lbl.move(50,150)
combo.activated[str].connect(self.onActivated)
self.setGeometry(300,300,300,200)
self.setWindowTitle('QComboBox')
self.show()
def onActivated(self,text):
self.lbl.setText(text)
self.lbl.adjustSize()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
结果如下: