Python PyQt:QFileDialog.getExistingDirectory使用默认目录,用户独立
使用Python PyQt:QFileDialog.getExistingDirectory使用默认目录,用户独立,python,pyqt,Python,Pyqt,使用QFileDialog.getExistingDirectory时,我找到了指定目录默认路径的方法。我想在Linux(Mint)机器上的(用户)主文件夹中的某个地方使用默认目录。我用过: my_dir = QtGui.QFileDialog.getExistingDirectory( self, "Open a folder", "/home/my_user_name/", QtGui.QFileDialog.ShowDirsOnly ) 它工作得很
QFileDialog.getExistingDirectory
时,我找到了指定目录默认路径的方法。我想在Linux(Mint)机器上的(用户)主文件夹中的某个地方使用默认目录。我用过:
my_dir = QtGui.QFileDialog.getExistingDirectory(
self,
"Open a folder",
"/home/my_user_name/",
QtGui.QFileDialog.ShowDirsOnly
)
它工作得很好。下一个“级别”是现在能够为每个用户做到这一点。我尝试了标准的Linux方式,并将/home/my_user\u name/
更改为~/
。那是行不通的。结果是工作目录而不是用户的目录
从终端调用我的应用程序时是否应该使用更多系统参数?还是我缺少一个PyQt函数 您可以使用 这适用于Windows和Linux 您的代码块将如下所示
my_dir = QtGui.QFileDialog.getExistingDirectory(
self,
"Open a folder",
expanduser("~"),
QtGui.QFileDialog.ShowDirsOnly
)
您还可以通过
os.getenv(varname)
获取环境变量“home”,为任何用户获取主文件夹
您的代码可能如下所示:
import os
home = os.getenv("HOME")
my_dir = QtGui.QFileDialog.getExistingDirectory(
self,
"Open a folder",
home,
QtGui.QFileDialog.ShowDirsOnly
)
只是忘了使用操作系统模块。也许给我一个更广泛的建议。合并更多模块(到目前为止,我的项目还不是很大)。
>>> import os
>>> os.getenv("HOME")
'/home/my_user_name'
import os
home = os.getenv("HOME")
my_dir = QtGui.QFileDialog.getExistingDirectory(
self,
"Open a folder",
home,
QtGui.QFileDialog.ShowDirsOnly
)