使用PyQt5 QtFileDialog.getOpenFileName()使用变量而不是文字字符串指定路径

时间:2017-04-24 09:59:05

标签: python pyqt

如果我执行以下操作:

self.file_dialog, _ = QFileDialog.getOpenFileName(self, "Open a calendar event(s) file", "/home/mdavies/Desktop/",
                    "iCalendar Files (*.ics)")

文件对话框在正确的文件夹(/ home / mdavies / Desktop /)中打开。但是,如果我尝试使用变量而不是文字作为路径:

from os.path import expanduser

folder = expanduser("~/Desktop")

self.file_dialog, _ = QFileDialog.getOpenFileName(self, "Open a calendar event(s) file", folder,
                    "iCalendar Files (*.ics)")

我使用Python 3.5.2和PyQt 5.5.1在Kubuntu 16.04上运行代码。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:-1)

我找到了一个明显的解决方案,这意味着我不必使用变量:

self.file_dialog, _ = QFileDialog.getOpenFileName(self, "Open a calendar event(s) file", expanduser("~/Desktop"),
                    "iCalendar Files (*.ics)")

仍然不清楚为什么变量没有起作用。