原文: https://pythonbasics.org/pyqt-list-box/

列表框(QListWidget)提供了多个选项。 您可以单击一个项目。 想一想歌曲播放列表。 与组合框不同,它显示所有可能的选项。

下面的屏幕截图在一个窗口中显示了一个 PyQt 列表框。

PyQt 列表框 - 图1

PyQt 列表框示例

QListWidget

使用QListWidget()创建一个列表框小部件。 然后添加带有self.listwidget.insertItem(0, "Red")的项目,其中第一个参数是索引。

点击事件会添加点击的方法self.listwidget.clicked.connect(self.clicked)

  1. from PyQt5.QtWidgets import *
  2. import sys
  3. class Window(QWidget):
  4. def __init__(self):
  5. QWidget.__init__(self)
  6. layout = QGridLayout()
  7. self.setLayout(layout)
  8. self.listwidget = QListWidget()
  9. self.listwidget.insertItem(0, "Red")
  10. self.listwidget.insertItem(1, "Orange")
  11. self.listwidget.insertItem(2, "Blue")
  12. self.listwidget.insertItem(3, "White")
  13. self.listwidget.insertItem(4, "Green")
  14. self.listwidget.clicked.connect(self.clicked)
  15. layout.addWidget(self.listwidget)
  16. def clicked(self, qmodelindex):
  17. item = self.listwidget.currentItem()
  18. print(item.text())
  19. app = QApplication(sys.argv)
  20. screen = Window()
  21. screen.show()
  22. sys.exit(app.exec_())

下载示例