sqlite - Qt - 自动检测应用程序文件夹中的文件
问题描述
我有一个 Qt C++ 应用程序的 sqlite 数据库。假设我将它放在我的默认构建/发布文件夹中,并且我还将数据库文件放在同一个文件夹中。我有 login.h 和 login.cpp。我希望应用程序可以自动检测数据库并打开它。我只会提供数据库的名称(例如:mydb.sqlite)。
Database.addDatabase("QSQLITE");
Database.setDatabaseName("I will only provide database file name here.like: mydb.sqlite");
我希望应该自动检测到目录的其余部分并且数据库连接工作正常。假设我有 sqlite 文件:C:/Qt/build-myapp-mingw-32/mydb.sqlite。我正在使用一个名为 path 的字符串变量。我想要那个,应用程序自动检测整个路径。并打开数据库连接。
解决方案
您不必提供数据库的完整路径即可使其正常工作。您可以参考构建目录中的路径,也可以使用:
QCoreApplication::applicationDirPath();
获取您的应用程序的路径,然后使用 .. 浏览您的目录?
推荐阅读
- jquery - 如何在使用 Jquery 或 CSS 的选项中限制带有很长文本的 Bootstrap 选择的宽度
- vue.js - Nuxt async fetch() 创建多个实例?重复的 fetch() 调用
- python - 在windows上部署flask应用
- r - 从 R 中的网络对象中获取每个路径
- android - org.mockito.exceptions.misusing.NotAMockException:参数应该是一个模拟,但是是:类 java.lang.Class for Andriod SSLContext.getInstance() 方法
- nginx - Flask + Gunicorn + Nginx:未安装组 www-data
- mysql - 使用带有值的聚合:分组:django
- php - 使用 PHP 读取 MySQL 数据库
- c++ - 如何递归地基于子小部件使 GTK focus_out 事件触发或如何检查是否没有子控件具有焦点
- javascript - 使用 Gulp-Notify 在终端中显示项目文件夹路径,而不是硬盘上项目的整个路径