PyQt QListWidget 文件选择

PyQt QListWidget 文件选择

PyQt QListWidget 文件选择

在PyQt中,QListWidget是一种非常有用的界面控件,可以用于展示和选择文件。在本文中,我们将详细介绍如何使用QListWidget来实现文件选择功能。

创建一个QListWidget

首先,我们需要创建一个QListWidget控件,用于展示文件列表。以下是一个简单的示例代码:

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

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

        self.setWindowTitle('文件选择器')

        layout = QVBoxLayout()

        self.file_list = QListWidget()
        layout.addWidget(self.file_list)

        self.setLayout(layout)

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

运行以上代码,我们将看到一个空的窗口,其中包含一个空的文件列表控件。

向QListWidget添加文件

接下来,我们将向QListWidget中添加一些文件。我们可以使用addItem()方法来添加文件,也可以使用addItems()方法来添加多个文件。

# 向QListWidget添加单个文件
self.file_list.addItem('geek-docs.com.txt')

# 向QListWidget添加多个文件
files = ['geek-docs.com_1.txt', 'geek-docs.com_2.txt', 'geek-docs.com_3.txt']
self.file_list.addItems(files)

运行以上代码,我们将看到文件列表中添加了几个文件,每个文件名包含geek-docs.com。

获取用户选择的文件

当用户选择一个文件时,我们需要获取用户选择的文件名。可以使用currentItem()方法和text()方法来获取当前选中的文件名。

selected_file = self.file_list.currentItem().text()
print(selected_file)

运行以上代码,我们将在控制台中看到用户选择的文件名。

完整示例代码

以下是一个完整的文件选择器的示例代码:

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

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

        self.setWindowTitle('文件选择器')

        layout = QVBoxLayout()

        self.file_list = QListWidget()
        layout.addWidget(self.file_list)

        files = ['geek-docs.com_1.txt', 'geek-docs.com_2.txt', 'geek-docs.com_3.txt']
        self.file_list.addItems(files)

        self.file_list.currentItemChanged.connect(self.get_selected_file)

        self.setLayout(layout)

    def get_selected_file(self):
        selected_file = self.file_list.currentItem().text()
        print(selected_file)

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

运行以上代码,我们将看到一个包含文件列表的窗口,并且可以获取用户选择的文件名。

通过使用QListWidget,我们可以实现一个简单的文件选择器,方便用户选择文件。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程