Qt : Setting應用程序的數據保存和讀取


使用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();
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM