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);
    ...
}
相关推荐
玉成2261 分钟前
MySQL两表之间数据迁移由于字段排序规则设置的不一样导致失败
数据库·mysql
CoderCodingNo3 分钟前
【GESP】C++四级真题 luogu-B4416 [GESP202509 四级] 最长连续段
开发语言·c++·算法
a程序小傲5 分钟前
京东Java面试被问:Fork/Join框架的使用场景
java·开发语言·后端·postgresql·面试·职场和发展
⑩-9 分钟前
Java四种线程创建方式
java·开发语言
dblens 数据库管理和开发工具10 分钟前
DBLens:让 SQL 查询更智能、更高效的数据库利器
服务器·数据库·sql·数据库连接工具·dblens
月光在发光10 分钟前
22_GDB调试记录(未完成)
java·开发语言
222you12 分钟前
SpringAOP的介绍和入门
java·开发语言·spring
程序员zgh13 分钟前
代码重构 —— 读后感
运维·c语言·开发语言·c++·重构
TDengine (老段)21 分钟前
TDengine 在新能源领域的最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
liulilittle21 分钟前
moodycamel::ConcurrentQueue 清空队列的方法论
开发语言·c++