Qt中QSettings的使用以及ini配置文件读写

        在应用程序开发过程中,用户对程序有一些需求,要求记住一些参数,比如窗口大小,比如配置的ip地址等。这些设置一般都是存在系统里面的,比如windows一般都写在系统注册表或者写INI文件中,那么按照一般的标准来说,许多应用程序是用INI文件来实现的。而Qsettings就是提供了一种方便的方法来存储和恢复应用程序的settings。

两个问题:

  1. 如何将setting写入到注册表中?
  2. 如何将setting写入到本地ini文件中?

问题1:

        在Qt中,设置ini文件并写入到注册表中,一般要先声明一些参数,比如公司名称,比如应用程序名称。如下代码,初始化设置:

#include "mainwindow.h"
#include <QSettings>
#include <QApplication>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    //配置参数
    QCoreApplication::setOrganizationName("QQQQQ");
    QCoreApplication::setOrganizationDomain("qqqqq.com");
    QCoreApplication::setApplicationName("WWWWW");
    QCoreApplication::setApplicationVersion("1.0.0");
    //写设置值
    QSettings setting;
    setting.setValue("ip","127.0.0.1");
    setting.setValue("port","3306");
    setting.setValue("name","cch");
    
### 关于 VSQt 缺少 Qt Project Settings 的解决方案 在 Visual Studio 中使用 Qt 开发时,如果项目属性中缺少 **Qt Project Settings**,可能会导致编译错误或无法正常引用 Qt 库。以下是解决此问题的详细方法: #### 1. 检查 Qt 插件是否正确安装 确保已正确安装 **Qt Visual Studio Tools** 插件[^1]。如果插件未安装或版本不匹配,可能导致项目属性中缺少 **Qt Project Settings**。可以通过以下步骤验证: - 打开 Visual Studio。 - 转到 `工具 -> 获取工具和功能`。 - 确认是否安装了 **Qt Visual Studio Tools**。如果没有,请重新安装。 #### 2. 验证 .vcxproj 文件内容 对比正常编译的 Qt 工程 `.vcxproj` 文件,检查是否存在以下代码片段[^2]: ```xml <Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')"> <Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." /> </Target> ``` 如果上述代码缺失,可能是项目文件未正确配置。可以手动将该代码添加到 `.vcxproj` 文件中,然后重新加载项目。 #### 3. 确认 Qt 模块导入 右键点击项目,选择 `属性 -> Qt Project Settings`,检查是否正确导入所需的 Qt 模块[^3]。例如: - **Core** - **Gui** - **Widgets** 如果模块未正确导入,可能导致项目无法识别 Qt 库。此外,还需确认模块名称拼写是否正确。 #### 4. 检查是否缺少 .pro 文件 如果项目中缺少 `.pro` 文件,可能会影响 Qt 配置的加载[^5]。可以通过以下方式解决: - 如果是新建项目,建议使用 **Qt Widgets Application** 模板创建,该模板会自动生成 `.pro` 文件。 - 如果是已有项目,尝试手动添加 `.pro` 文件,并确保其内容正确。例如: ```makefile QT += core gui widgets TARGET = MyQtApp TEMPLATE = app SOURCES += main.cpp FORMS += mainwindow.ui HEADERS += mainwindow.h ``` #### 5. 卸载并重装 Qt Visual Studio Tools 如果上述方法无效,可能是插件版本问题或安装不完整。可以尝试卸载当前版本的 **Qt Visual Studio Tools**,然后重新安装[^5]。对于 VS2022 用户,建议安装 **LEGACY Qt Visual Studio Tools**。 #### 示例代码:验证 Qt 配置 以下是一个简单的 Qt 示例代码,用于验证环境配置是否正确: ```cpp #include <QApplication> #include <QMainWindow> int main(int argc, char *argv[]) { QApplication app(argc, argv); QMainWindow window; window.resize(640, 480); window.show(); return app.exec(); } ``` ### 注意事项 - 确保 Qt 版本与 Visual Studio 的编译器版本匹配。例如,使用 MSVC2019 编译器时,应选择对应的 Qt 版本[^4]。 - 如果仍无法解决问题,可以尝试清理并重建项目: - 右键点击项目 -> `清理`。 - 右键点击项目 -> `重建`。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值