Linux Qt QDesktopServices :: storageLocation

时间:2014-09-06 15:46:10

标签: python qt pyqt ubuntu-14.04

我正在使用

QtGui.QDesktopServices.storageLocation(QtGui.QDesktopServices.DataLocation)

我的跨平台程序获取应用程序文件夹。在Windows上运行良好,但在Linux(Ubuntu)上,当前文件名附加到路径,例如。

/home/mustermann/.local/share/data//my_program.py

我只是想知道这是否是“正常”行为,我必须提取路径或出错。

在设置应用名称和组织后编辑,代码:

app = QtGui.QApplication(sys.argv)
app.setOrganizationName("Snowformtics")
app.setOrganizationDomain("Snowformtics.net")     
app.setApplicationName("LabtoolsQt")     
QtGui.QApplication.setStyle(QtGui.QStyleFactory.create("plastique"))
QtGui.QApplication.setPalette(QtGui.QApplication.style().standardPalette())
my_app = MyMainWindow()
my_app.show()
sys.exit(app.exec_())

1 个答案:

答案 0 :(得分:1)

使用QStandardPaths::writableLocation()并尝试设置组织和应用名称。

C ++版本:

QApplication app(argc, argv);
app.setOrganizationName("Company Corp.");
app.setOrganizationDomain("company.net");
app.setApplicationName("FancyApp");

qDebug() << QStandardPaths::writableLocation(QStandardPaths::DataLocation);

打印

"/home/me/.local/share/Company Corp./FancyApp"