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);
    ...
}
相关推荐
张洛闻Eren4 分钟前
MySQL 维护稳定系统【MySQL第二课】
linux·数据库·mysql·云原生
丰锋ff30 分钟前
3.1 Qt事件之事件处理器
开发语言·qt
多弗朗皮卡丘44 分钟前
C语言梦开始的地方7:函数
c语言·开发语言
布莱克6051 小时前
理解索引:从概念到实践
数据库·mysql
月华路1 小时前
G1 垃圾回收:脏卡队列、记忆集与并发精化线程机制
java·开发语言
gugucoding2 小时前
47. 【Java】Java内存模型(JMM)与可见性
java·开发语言
m0_380743872 小时前
从零调用 Claude 教程
开发语言·python·node.js
起床学FPGA2 小时前
AI回答问题之后,会自动跳到最下面的问题
开发语言·javascript·ecmascript
反转180度2 小时前
Qt 6 + C++17 实现 SFTP 批量部署:工业设备运维工具实战解析
运维·c++·qt
x_x-F3 小时前
网络数据从网卡到用户态:一场基于内存所有权转移的接力赛
开发语言·网络·php