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);
    ...
}
相关推荐
无限进步_5 分钟前
【C++】巧用静态变量与构造函数:一种非常规的求和实现
开发语言·c++·git·算法·leetcode·github·visual studio
Advancer-8 分钟前
RedisTemplate 两种序列化实践方案
java·开发语言·redis
郝学胜-神的一滴16 分钟前
Socket实战:从单端聊天到多用户连接的实现秘籍
服务器·开发语言·python·网络协议·pycharm
小超超爱学习993722 分钟前
大数乘法,超级简单模板
开发语言·c++·算法
java1234_小锋27 分钟前
Java高频面试题:MyBatis如何实现动态数据源切换?
java·开发语言·mybatis
knighthood200130 分钟前
Qt5.15+VTK9.3.0实现点云点选功能
开发语言·qt
墨神谕35 分钟前
Java中,为什么要将.java文件编译成,class文件,而不是直接将.java编译成机器码
java·开发语言
014-code42 分钟前
MySQL 常用业务 SQL
数据库·sql·mysql
知识分享小能手1 小时前
MongoDB入门学习教程,从入门到精通,MongoDB的选择片键 - 完整知识点(16)
数据库·学习·mongodb