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);
    ...
}
相关推荐
纪东东7 分钟前
做一个实用的节假日工具
java·开发语言
摘星编程17 分钟前
Python 多线程日志错乱:logging.Handler 的并发问题
java·开发语言·python·python多线程·queuehandler
Y4090011 小时前
SQL语言增删改查之C与R
数据库·笔记·sql
枫の准大一5 小时前
【C++游记】物种多样——谓之多态
开发语言·c++
JuneXcy8 小时前
循环高级(1)
c语言·开发语言·算法
MediaTea8 小时前
Python 第三方库:lxml(高性能 XML/HTML 解析与处理)
xml·开发语言·前端·python·html
lhxcc_fly9 小时前
Mysql系列--9、事务
数据库·mysql·事务
编啊编程啊程9 小时前
响应式编程框架Reactor【3】
java·开发语言
Ka1Yan9 小时前
什么是策略模式?策略模式能带来什么?——策略模式深度解析:从概念本质到Java实战的全维度指南
java·开发语言·数据结构·算法·面试·bash·策略模式
胡萝卜的兔9 小时前
go 使用rabbitMQ
开发语言·golang·rabbitmq