当前位置: 代码迷 >> QT开发 >> C++ GUI QT4编程 示例代码有关问题
  详细解决方案

C++ GUI QT4编程 示例代码有关问题

热度:505   发布时间:2016-04-25 02:52:16.0
C++ GUI QT4编程 示例代码问题
void MailClient::readSettings()
{
    QSettings settings("Software Inc.", "Mail Client");      

    settings.beginGroup("mainWindow");
    restoreGeometry(settings.value("geometry").toByteArray());
    mainSplitter->restoreState(
            settings.value("mainSplitter").toByteArray());
    rightSplitter->restoreState(
            settings.value("rightSplitter").toByteArray());
    settings.endGroup();
}

void MailClient::writeSettings()
{
    QSettings settings("Software Inc.", "Mail Client");                    

    settings.beginGroup("mainWindow");
    settings.setValue("geometry", saveGeometry());
    settings.setValue("mainSplitter", mainSplitter->saveState());
    settings.setValue("rightSplitter", rightSplitter->saveState());
    settings.endGroup();
}


以上代码为《C++ GUI QT4编程》第六章中的Mail Client示例代码,我照书看或者看帮助文档,都没有搞懂,请问是怎么“读”和“写”的?
------解决思路----------------------
你可以看一下QSettings的用法,是一个字符串对应一个值。
读的时候是settings.value("mainSplitter")读取字符串"mainSplitter"对应的值,通过mainSplitter->restoreState将值给mainSplitter。

写的时候是反过来的,通过 mainSplitter->saveState()得到状态,settings.setValue将"mainSplitter"字符串对应的值设置为取得的状态。

你可以搜一下QSettings读取ini文件,方便理解。
  相关解决方案