如何使用QSettings将QString添加到注册表
How to add QString to the registry using QSettings
我一直在开发我的第一个gui应用程序。我需要为所有的东西存储一些值,所以我决定使用QSettings并学习如何使用windows注册表。我已经找到了一个关于尺寸和位置的例子,所以我确实对这里发生的事情有一点了解,但由于某种原因,当我独自尝试时,我无法让它发挥作用。几周来,我一直在努力解决这个问题,只是找不到任何关于如何将自己的字符串添加到注册表的好参考。以下是实现这一目标所需的所有相关代码。如有任何帮助或指向正确方向,我们将不胜感激。此外,我有Qt4或类似的基础知识,但在这种情况下,它对我没有太大帮助,所以如果有人能快速参考一些与质量相关的文章或更全面的关于更高级Qt主题的作品,我会很感兴趣地听一听,但不要离手头的主题太远,我相信有很多好书。
主窗口.cpp
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
{
createActions();
createMenus();
createMainWidget();
createIcons();
createDocks();
createStatusBar();
setMinimumSize(950,600);
setWindowTitle(tr("Black Ops Toolbox: Vrs. 0.0.0.12.01"));
QString defaultDirPath = "";
readSettings();
}
void MainWindow::readSettings()
{
QSettings settings;
QPoint pos = settings.value("pos", QPoint(25,25)).toPoint();
move(pos);
QSize size = settings.value("size",QSize(1200,900)).toSize();
resize(size);
QString defaultDirPath = settings.value("defaultDirPath", QString("c:/programfiles/")).toString();
}
void MainWindow::writeSettings()
{
QSettings settings;
settings.setValue("pos",pos());
settings.setValue("size",size());
settings.setValue("defaultDirPath", QVariant(QString *defaultDirPath).toString());
}
void MainWindow::closeEvent(QCloseEvent *event)
{
writeSettings();
}
主窗口.h
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
protected:
void closeEvent(QCloseEvent *event);
private:
void createActions();
void createActionEvents();
void createMenus();
void createMainWidget();
void createIcons();
void createDocks();
void createStatusBar();
void readSettings();
void writeSettings();
QString *defaultDirPath;
};
我真的还没有使用QSettings,但从文档来看,您的代码中似乎遗漏了一些信息。
特别是,您必须使用QSettings构造函数(如)给出(从基本用法部分)组织名称和应用程序名称
QSettings settings("MySoft", "Star Runner");
或者使用QCoreApplication设置,然后使用默认的QSettings构造函数
QCoreApplication::setOrganizationName("MySoft");
QCoreApplication::setOrganizationDomain("mysoft.com");
QCoreApplication::setApplicationName("Star Runner");
...
QSettings settings;
你有没有尝试过其中一种方法来创建你的Q设置?
相关文章:
- 有没有任务栏API可以立即应用注册表更改
- 检查注册表项是否链接到(或副本)另一个注册表项
- 禁用地址共享注册表不起作用
- 如何从注册表项中提取配置单元和注册表名称
- 注册表正在设置 1 个字符
- 清理"QSettings"注册表项的最佳方法(Windows上的Qt 5)
- 在 c++ 中编辑注册表项
- 某些进程的注册表限制
- 在编译时生成某种子类/类型注册表?
- 如何通过将其添加到注册表中来使我的程序运行
- 向注册表添加新项不起作用
- 如何使用QSettings将QString添加到注册表
- 将条目添加到'Uninstall'注册表项后无法卸载我的工具
- 如何在qt中添加/更改注册表
- 训练sapi:创建转录的wav文件并将文件路径添加到注册表
- Windows 外壳扩展教程不会将 CLSID 添加到注册表
- 在microtik Winbox的注册表编辑器中添加自定义协议
- 将应用程序添加到启动(注册表)
- 正在将字符串添加到注册表路径regopenkeyex
- C++添加注册表项