Qt编程4:QSettings使用一(windows注册表的读写:实际操作)

来源:互联网 发布:数据分析的算法 编辑:程序博客网 时间:2024/06/07 11:42

1、Qstting编辑注册表

#include "mainwindow.h"#include "ui_mainwindow.h"#include <QSettings">#include  <QTime">#include  <QHBoxLayout>#include <QPushButton>#include <QTextCodec">MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::MainWindow){    ui->setupUi(this);    view = new QWebView(this);    view->setUrl(QUrl("baidu.com"));    QVBoxLayout * vLayout = new QVBoxLayout(this);    QPushButton *bdButton = new QPushButton(this);    QTextCodec *codec = QTextCodec::codecForLocale();    QString tmpStr = codec->toUnicode("百度");    bdButton->setText(tmpStr);    QPushButton *sinaButton = new QPushButton(this);    QString tmpStr2 = codec->toUnicode("新浪");    sinaButton->setText(tmpStr2);    vLayout->addWidget(bdButton);    vLayout->addWidget(sinaButton);    ui->horizontalLayout->addLayout(vLayout);    ui->horizontalLayout->addWidget(view);    connect(bdButton,SIGNAL(clicked()),SLOT(S_baiduSlot()));    connect(sinaButton,SIGNAL(clicked()),SLOT(S_sinaSlot()));       //------------------------------------------------以下编辑注册表    //公司名称:zhjSoft,程序名称:setting    QSettings *settings = new QSettings("zhjSoft","setting");    //设置当前时间的值    settings->setValue("time",QDateTime::currentDateTime().toString("MMddhhmmss"));    //设置软件名称    settings->setValue("softName","mainWindow");    //----------------------------------------------------------------------     //使用注册表的路径与QSettings::NativeFormat组合读写注册表.    QSettings *setting2 = new QSettings ("HKEY_CURRENT_USER\\Software\\zhjTest\\setting",                                 QSettings ::NativeFormat);    //从注册表读取窗口的大小以及位置,设置窗口大小以及位置。    this->restoreGeometry(setting2->value("point").toByteArray());  //删除指定的注册表项  setting2->remove("test");} MainWindow::~MainWindow(){    delete ui;} //窗口关闭事件void MainWindow::closeEvent(QCloseEvent *e){    QSettings *setting2 = new QSettings ("HKEY_CURRENT_USER\\Software\\zhjTest\\setting", QSettings ::NativeFormat);    //设置其他元素的值    setting2->setValue("test","red");    //将当前窗口的大小以及位置等信息保存到注册表中,方便重新打开窗口时恢复    setting2->setValue("point",this->saveGeometry());    QMainWindow::closeEvent(e);} void MainWindow::S_baiduSlot(){  //载入百度页面    view->load(QUrl("baidu.com"));}void MainWindow::S_sinaSlot(){  //载入新浪页面    view->load(QUrl("sina.cn"));}

 

2、实现效果如图:


 

 

 

 

 

 

 

 

0 0