当使用QFileDialog.getExistingDirectory时,我找到了指定目录默认路径的方法。我想在Linux(Mint)计算机上的(用户)主文件夹中的某个位置使用默认目录。我用了:

my_dir = QtGui.QFileDialog.getExistingDirectory(
    self,
    "Open a folder",
    "/home/my_user_name/",
    QtGui.QFileDialog.ShowDirsOnly
    )

效果很好。现在,下一个“级别”将能够为每个用户执行。我尝试了标准的Linux方式,并将/home/my_user_name/更改为~/。那没有用。结果是工作目录,而不是用户的目录。

从终端调用我的应用程序时,我应该使用更多的系统参数吗?还是我缺少PyQt函数?

最佳答案

您可以使用os.path.expanduser获取用户的主目录

>>> from os.path import expanduser
>>> expanduser("~")
/home/user_name

这适用于Windows和Linux。

您的代码块将如下所示
my_dir = QtGui.QFileDialog.getExistingDirectory(
    self,
    "Open a folder",
    expanduser("~"),
    QtGui.QFileDialog.ShowDirsOnly
)

关于python - PyQt:QFileDialog.getExistingDirectory使用默认目录,用户独立,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24739533/

10-13 07:42