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文件,方便理解。