下拉列表框-QComboBox

QComboBox是一个集按钮和下拉选项于一体的控件,也被称为下拉列表框。

QComboBox类中的常用方法:

  addItem()    添加一个下拉选项

  addtems()     从列表中添加下拉选项

  Clear()       删除下拉选项集合中的所有选项

  count()      返回下拉选项集合中的数目

  currentText()  返回选择选项的文本

  itemText()       获取索引为i的item的选项文本

  currentIndex()   返回选中项的索引

  setItemText()        改变序号为index项的文本

QComboBox类中的常用信号

  Activated    当用户选中一个下拉选项时发射该信号

  currentIndexChanged  当下拉选项的索引发生改变时发射该信号

  highlighted     当选中一个已经选中的下拉选项时,发射该信号

案例17  QComboBox按钮的使用

import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QWidget, QApplication, QCheckBox, QComboBox, QLabel, QVBoxLayout


class ComboBoxDemo(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setWindowTitle("ComboBox 例子")
        self.resize(300, 90)
        layout = QVBoxLayout()
        self.lb1 = QLabel("")

        self.cb = QComboBox()
        self.cb.addItem("C")
        self.cb.addItem("C++")
        self.cb.addItems(["Java", "C#", "Python"])
        self.cb.currentIndexChanged.connect(self.selectionchange)
        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)
    comboboxdemo = ComboBoxDemo()
    comboboxdemo.show()
    sys.exit(app.exec_())
原文地址:https://www.cnblogs.com/lynsha/p/13408764.html