📜  PyQt5 QListWidget – 获取运动属性(1)

📅  最后修改于: 2023-12-03 15:03:58.303000             🧑  作者: Mango

PyQt5 QListWidget - 获取运动属性

在PyQt5中,QListWidget控件是一种显示项目的简单方法,这些项目可以被单击、双击或拖动。QListWidget可以显示不同类型的项目,如文本、图像和自定义图形项。

在这篇文章中,我们将介绍如何获取QListWidget选定项的属性。

需求

首先,我们需要创建一个QListWidget,允许用户选择列表中的项目。然后,我们想要获取选定项的属性,如文本值、“已选中”状态等。这可以帮助我们在用户选择特定项目时进行一些操作。

实现

我们将使用PyQt5创建一个简单的GUI应用程序。我们需要导入QListWidget类和QListWidgetItem类。我们还需要创建一个QMainWindow和一个QListWidget控件。我们将使用addItems()方法添加不同项目。我们还将使用selectedItems()和currentItem()方法获取选定项的属性。

from PyQt5.QtWidgets import QMainWindow, QApplication, QListWidget, QListWidgetItem

class App(QMainWindow):

    def __init__(self):
        super().__init__()
        self.title = 'PyQt5 QListWidget'
        self.left = 10
        self.top = 10
        self.width = 440
        self.height = 240
        self.initUI()

    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)

        self.listWidget = QListWidget(self)
        self.listWidget.move(10, 10)
        self.listWidget.resize(400, 200)

        # Add items with text and status
        item1 = QListWidgetItem('Item 1', self.listWidget)
        item1.setCheckState(2)
        item2 = QListWidgetItem('Item 2', self.listWidget)
        item2.setCheckState(0)
        item3 = QListWidgetItem('Item 3', self.listWidget)
        item3.setCheckState(2)
        item4 = QListWidgetItem('Item 4', self.listWidget)
        item4.setCheckState(0)

        # Get selected items
        selected_items = self.listWidget.selectedItems()
        for item in selected_items:
            print(item.text())

        # Get current item
        current_item = self.listWidget.currentItem()
        print(current_item.text())

        self.show()

if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())

在上面的代码中,我们创建了一个QListWidget控件,并添加了不同的项目。我们使用setCheckState()方法为项目设置“已选中”状态。在selectedItems()方法中获取选定项目的列表,并在循环中打印出它们的文本值。使用currentItem()方法获取当前选定项的文本值并打印。

运行程序

将上面的代码保存为“listwidget.py”,然后在终端中使用以下命令运行程序:

python listwidget.py

运行结果如下:

Item 1
Item 3
Item 1

这表明我们成功获取了选定项的属性。第一行和第二行分别为选定的项目文本值。第三行是当前选定项的文本值。