小工具知识网

当前位置: 首页 > 行业知识 > QListWidget详解

行业知识

QListWidget详解

2026-10-26 22:23:00 来源:互联网转载

QListWidget详解

QListWidget 是 PyQt5 中一个方便的部件,用于创建和管理列表。它继承自 QListView,并提供了一些高级功能,使得添加和管理列表项更加简单。以下是 QListWidget 的详解,包括基本用法、主要方法和属性以及如何与其他组件进行交互的代码示例。

基本用法

  1. 导入模块 要使用 QListWidget,首先需要导入相关模块:

    from PyQt5.QtWidgets import QListWidget, QListWidgetItem, QApplication, QVBoxLayout, QWidget, QLabelimport sys
  2. 创建 QListWidget 实例 创建 QListWidget 的实例并添加列表项:

    app = QApplication(sys.argv)list_widget = QListWidget()
  3. 添加列表项 使用 addItem 方法添加单个列表项,或使用 addItems 方法添加多个列表项:

    list_widget.addItem("Item 1")list_widget.addItem("Item 2")list_widget.addItems(["Item 3", "Item 4", "Item 5"])
  4. 显示窗口 设置窗口大小并显示:

    list_widget.setWindowTitle("QListWidget Example")list_widget.resize(300, 200)list_widget.show()sys.exit(app.exec_())

主要方法和属性

  • 添加和删除项
    • addItem(item): 添加单个列表项。
    • addItems(items): 添加多个列表项。
    • takeItem(row): 删除并返回指定行的列表项。
    • clear(): 清空所有项。
    • 项操作
      • count(): 返回列表项的数量。
      • item(row): 返回指定行的列表项。
      • row(item): 返回指定列表项的行号。
      • currentItem(): 返回当前选中的列表项。
      • currentRow(): 返回当前选中项的行号。
      • setCurrentItem(item): 设置当前选中的列表项。
      • setCurrentRow(row): 设置当前选中的行。
      • 信号和槽
        • itemClicked(item): 单击列表项时发射信号。
        • itemDoubleClicked(item): 双击列表项时发射信号。
        • itemChanged(item): 列表项改变时发射信号。
        • currentItemChanged(current, previous): 当前选中项改变时发射信号。

          代码示例

          以下是一个完整的示例,展示了如何使用 QListWidget 以及如何响应用户的交互:

          from PyQt5.QtWidgets import QListWidget, QListWidgetItem, QApplication, QVBoxLayout, QWidget, QLabelimport sysclass ListWidgetDemo(QWidget):    def __init__(self):        super().__init__()        self.initUI()    def initUI(self):        self.setWindowTitle('QListWidget Demo')        self.setGeometry(100, 100, 400, 300)        self.list_widget = QListWidget(self)        self.list_widget.addItems(["Item 1", "Item 2", "Item 3", "Item 4", "Item 5"])        self.label = QLabel("Selected Item Info", self)        layout = QVBoxLayout(self)        layout.addWidget(self.list_widget)        layout.addWidget(self.label)        self.list_widget.itemClicked.connect(self.onItemClicked)        self.setLayout(layout)    def onItemClicked(self, item):        self.label.setText(f"Selected: {item.text()}")if __name__ == '__main__':    app = QApplication(sys.argv)    demo = ListWidgetDemo()    demo.show()    sys.exit(app.exec_())

          示例界面如图所示:

          这个示例展示了一个包含五个列表项的 QListWidget,并且当用户点击某个项时,在窗口底部的标签中显示该项的信息。

          通过上述步骤和示例,应该能够掌握 QListWidget 的基本用法,并在 PyQt5 应用程序中实现列表视图功能。

上一篇:服务器长时间工作怎么清灰?

下一篇:互联网推广怎么样?