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