【问题标题】:How to browse open a file or folder python如何浏览打开文件或文件夹python
【发布时间】:2020-06-27 02:20:00
【问题描述】:

我熟悉QFileDialog.getExistingDirectoryQFileDialog.getOpenFileName,但我想要一种方法来单击我的浏览按钮以打开我的文件资源管理器,并返回所选文件夹或文件的路径。

这是一些示例代码。是否可以将两个getSelectedItem() 函数合并到一个方法调用中?

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QFileDialog


class AppDemo(QMainWindow):
    def __init__(self):
        super().__init__()

        self.btn = QPushButton('Browse', self)
        self.btn.clicked.connect(lambda: print(self.getSelectedItem()))

    def getSelectedItem(self):
        self.browseInput = str(QFileDialog.getOpenFileName(self))
        print(self.browseInput)

    # def getSelectedItem(self):
    #     self.browseInput = str(QFileDialog.getExistingDirectory(self))
    #     print(self.browseInput)

if __name__ == '__main__':
    app = QApplication(sys.argv)

    demo = AppDemo()
    demo.show()

    sys.exit(app.exec_())

【问题讨论】:

  • “我的文件浏览器”是什么意思?如果您指的是专用程序(如 Total Commander),它可能是可能的,具体取决于程序及其允许此类交互的事实,但如果您指的是操作系统文件浏览器,则可能是更难(甚至不可能,取决于操作系统)。
  • @musicamante 我指的是操作系统文件浏览器。我不确定是否有我遗漏的简单方法,或者是否有可能。
  • 在 Windows 和 MacOS 上,您可以将文件浏览器打开到特定路径并自动选择文件(至少在 Windows 上),但这与 PyQt 无关。但是由于您还想取回选定的文件,所以这不是很有用。所以,长话短说,你不能——至少不能以一种好的、简单和可靠的方式。

标签: file browser directory pyqt5


【解决方案1】:

您想要文件名和文件所在的文件夹,对吗?我认为这应该可行:

    def getSelectedItem(self):
         self.browseInput = str(QFileDialog.getOpenFileName(self))
         print(self.browseInput)
         print(self.browseInput.split('/')[-2])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-06
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-15
    • 2015-07-22
    相关资源
    最近更新 更多