如何用pyqt/pyside实现一个文件列表的功能?

新手上路,请多包涵

就是类似百度网盘那种,显示文件信息然后可以点击下载,想请大佬们给个思路该怎么做。

阅读 1.3k
1 个回答

用 QListWidget 来显示文件列表,再用 QFileDialog 来选择和下载文件:

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

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

        self.initUI()

    def initUI(self):
        self.setWindowTitle('File List')

        self.layout = QVBoxLayout()
        self.setLayout(self.layout)

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

        self.button = QPushButton('Download')
        self.button.clicked.connect(self.onDownload)
        self.layout.addWidget(self.button)

    def addFile(self, filename):
        self.listWidget.addItem(filename)

    def onDownload(self):
        filename, _ = QFileDialog.getOpenFileName(self, 'Open file', '/')

        if filename:
            self.addFile(filename)

def main():
    app = QApplication(sys.argv)

    widget = FileListWidget()
    widget.show()

    sys.exit(app.exec_())

if __name__ == '__main__':
    main()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题