【发布时间】:2015-11-28 02:35:08
【问题描述】:
我对 Qt 比较陌生,但我刚刚完成了我的第一个项目程序。我有一个 .sqlite 文件,我通过这样做打开:
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("/Users/.../.../Code/Database/AIOCS.sqlite"); //shortened for clarity
我需要把这个程序发给我的教授,但显然如果程序试图编译,数据库将无法打开,因为路径错误。我试图运行应用程序而不必在我的代码中指定文件路径。有没有办法将文件放在我只需要指定文件名的本地目录中。类似的东西:
db.setDatabaseName("AIOCS.sqlite");
例如,如果我在 mac 上运行我的程序,我将不得不使用:
db.setDatabaseName("/Users/.../.../Code/Database/AIOCS.sqlite"); //shortened for clarity
但是,在电脑上会是
db.setDatabaseName("C:\\User\\...\\Code\\Database\\AIOCS.sqlite"); //shortened for clarity
有没有办法只使用文件名,这样程序就可以在任何机器上运行而无需更改代码。
【问题讨论】:
-
问题实际上是关于文件路径的,它与 SQLite 或 Qt Creator IDE 没有任何特别的关系。您能否将问题编辑得更具体?
-
我试图更具体一些,如果我能提供更多信息,请告诉我
-
使用相对文件路径,例如
"db.setDatabaseName("../../Code/Database/AIOCS.sqlite");"