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、实现效果如图: