Qt 自动无法加载数据库为空

解决方式:main() 中设置QDir::setCurrent(QCoreApplication::applicationDirPath());即可

1、开机自启

cpp 复制代码
void setAutoStart(bool enable) {
    QSettings settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);
    QString appName = QCoreApplication::applicationName();
    QString appPath = QCoreApplication::applicationFilePath().replace("/", "\\"); // 路径格式转换
    if (enable) {
        qDebug()<<"set auto run "<<enable;
        settings.setValue(appName, appPath); // 添加注册表项
    } else {
        qDebug()<<"set auto run "<<enable;
        settings.remove(appName); // 删除注册表项
    }
}

2、设置加载目录

cpp 复制代码
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QDir::setCurrent(QCoreApplication::applicationDirPath());//关键点
    qInstallMessageHandler(QtlogOutput);
    ...
}
相关推荐
一只小bit23 分钟前
MySQL 库的操作:从创建配置到备份恢复
服务器·数据库·mysql·oracle
sanx1824 分钟前
专业电竞体育数据与系统解决方案
前端·数据库·apache·数据库开发·时序数据库
Overboom2 小时前
[C++] --- 常用设计模式
开发语言·c++·设计模式
Univin2 小时前
C++(10.4)
开发语言·数据结构·c++
YxVoyager2 小时前
Qt C++ :QLayout 布局管理
c++·qt
KyollBM2 小时前
每日羊题 (质数筛 + 数学 | 构造 + 位运算)
开发语言·c++·算法
养生技术人3 小时前
Oracle OCP认证考试题目详解082系列第57题
运维·数据库·sql·oracle·开闭原则
不良人天码星3 小时前
redis-zset数据类型的常见指令(sorted set)
数据库·redis·缓存
心灵宝贝3 小时前
libopenssl-1_0_0-devel-1.0.2p RPM 包安装教程(openSUSE/SLES x86_64)
linux·服务器·数据库
Paul_09204 小时前
golang面经——map模块和sync.Map模块
开发语言