使用setting 可以將應用程序關閉前的數據都保存到系統的注冊表當中 ,
並且下次再打開程序時可以沖注冊表中讀取上一次關閉時的狀態 需要注意的是保存到注冊表中的數據 都是以鍵值對的形式存在
void SettingsGui::writeSettings() { //數據的存儲 settings->beginGroup("size_pos"); settings->setValue("size",this->frameSize()); settings->setValue("pos",this->frameGeometry().topLeft()); settings->endGroup(); settings->beginGroup("string_color"); settings->setValue("string",this->textedit->toPlainText()); settings->setValue("color",this->label->palette().color(QPalette::WindowText)); settings->endGroup(); } void SettingsGui::readSettings() { //數據的讀取 settings->beginGroup("size_pos"); QSize size = settings->value("size").toSize();//把大小數據拿出來 QPoint pos = settings->value("pos").toPoint(); settings->endGroup(); this->resize(size); this->move(pos); settings->beginGroup("string_color"); QString text = settings->value("string").toString(); QColor color = settings->value("color").value<QColor>();//沒有轉換函數的 可以使用強制類型轉換 settings->endGroup(); this->textedit->append(text); QPalette pale = this->label->palette(); pale.setColor(QPalette::WindowText,color); this->label->setPalette(pale); } void SettingsGui::closeEvent(QCloseEvent *e) { qDebug() << "void SettingsGui::closeEvent(QCloseEvent *e)" << endl; this->writeSettings(); }