python – PyQt:QFileDialog.getExistingDirectory使用默认目录,用户独立

使用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
)
点赞