📜  PyQt5 QListWidget – 设置当前项(1)

📅  最后修改于: 2023-12-03 14:45:49.203000             🧑  作者: Mango

PyQt5 QListWidget - 设置当前项

介绍

在 PyQt5 中,QListWidget 是一个用于在窗口内显示项目列表的小部件。它可以使用单个列显示一组项目,并且可以选择一个或多个项目。QListWidget 是一个非常灵活的小部件,提供了许多方法来操作和管理项目。

本文将介绍如何使用 PyQt5 的 QListWidget 类在窗口中设置当前项。

设置当前项

可以使用 setCurrentRow() 方法来设置 QListWidget 中的当前项。该方法接受一个整数参数,用于指定要设置为当前项的行号。行号从 0 开始,表示 QListWidget 中的第一行。

list_widget.setCurrentRow(2)

可以使用 currentRow() 方法来获取当前项的行号。

current_row = list_widget.currentRow()

请注意,如果要清除当前项,可以使用 -1 作为参数,例如:

list_widget.setCurrentRow(-1)
示例代码

下面是一个简单的 PyQt5 程序,演示如何在 QListWidget 中设置当前项:

import sys
from PyQt5.QtWidgets import QApplication, QListWidget, QVBoxLayout, QWidget

class ListWidgetExample(QWidget):
    def __init__(self):
        super().__init__()

        self.init_ui()

    def init_ui(self):
        self.setWindowTitle('QListWidget Example')

        # 创建 QListWidget
        list_widget = QListWidget()
        list_widget.addItems(['Item 1', 'Item 2', 'Item 3', 'Item 4'])

        # 设置当前项为第二行
        list_widget.setCurrentRow(1)

        # 获取当前项的行号
        current_row = list_widget.currentRow()

        # 将 QListWidget 添加到布局中
        layout = QVBoxLayout()
        layout.addWidget(list_widget)

        self.setLayout(layout)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = ListWidgetExample()
    window.show()
    sys.exit(app.exec_())

运行上述代码,将会打开一个窗口,并在窗口中显示一个有四个项目的 QListWidget,当前项将会被设置为第二行('Item 2')。