PyCharm和PyQT QFileDialog之间的怪异互动[重复]

问题描述 投票:0回答:1

我已经用Python3 + QT5编写了一个程序。从终端运行它似乎正常工作

当我从PyCharm运行它时,它会变得不正常。

我将使用类似getSaveFileName()的命令来提供一些本地文件aaa.json的路径。但是,我最终得到的路径类似于“ /run/user/1000/doc/69158495/aaa.json”。当我第二次调用同一命令时,结果是一个空字符串“”(即使我提供了正确的路径)。最奇怪的是我的GUI之后停止了。它不会对任何按钮做出反应,只能从PyCharm内部停止。没有抛出错误消息。

当我从终端运行代码时,我可以多次调用getSaveFileName(),并且它总是返回正确的路径,没有停止。

有什么想法吗?

Edit:好的,这是一个极小的示例。当我在pycharm中运行此代码并在主目录中提供新文件的路径时,“ path”变量的值以'/ run / user / 1000 / .....']开始

import sys
from PyQt5 import QtGui, QtCore, QtWidgets

app = QtWidgets.QApplication(sys.argv)
mainwindow = QtWidgets.QMainWindow()
path = QtWidgets.QFileDialog.getSaveFileName(None, "Save JSON file", "./", "JSON Files (*.json)")[0]
print(path)

我已经用Python3 + QT5编写了一个程序。当我从终端运行它时,它似乎正常工作。当我从PyCharm运行它时,它不起作用。我会使用类似getSaveFileName()的命令来提供一个...

python python-3.x pyqt pycharm pyqt5
1个回答
1
投票

根据this answer,似乎从PyCharm环境中运行程序,“ RuntimeLocation” StandardLocation被用作根路径的参考。

© www.soinside.com 2019 - 2024. All rights reserved.