QSettings的简单操作
QSettings类关联了相关文件(不同的平台,文件类型不同),以保存应用程序的一些设置,如下是关于QSettings的一些简单的测试,值得探讨的地方还请不吝指教
#include <QtCore/QCoreApplication>#include <QtCore/QSettings>#include <QStringList>int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QSettings settings("CSUST.Embedded", "settings"); // settings文件标识 // a.setOrganizationName("CSUST.Embedded"); // 也可以这样设置settings的文件标识// a.setApplicationName("settings");// QSettings settings(); // 简单的插入设置对 settings.setValue("数值", 40); printf("%s\n", "测试简单的插入"); printf("%d\n", settings.value("数值").toInt()); // 简单的组应用 settings.beginGroup("myGroup"); settings.setValue("数值", 50);// settings.setValue("数值", 55); // 在组中,键值不能重复用来定义“设置对”,重复的结果是(55)覆盖原来的值(50) settings.endGroup(); // 在组外可以定义和组中键值相同的“设置对” settings.beginGroup("myGroup"); printf("%d\n", settings.value("数值").toInt()); settings.endGroup(); printf("%s\n", "测试组应用"); printf("%d\n", settings.value("数值").toInt()); // 简单的数组应用 QStringList list; list.append("AAA"); list.append("BBB"); list.append("CCC"); list.append("DDD"); settings.beginWriteArray("myArray"); for(int i = 0; i < list.count(); i++) { settings.setArrayIndex(i); settings.setValue("字母串", list.at(i)); // 数组中准许键重名 } settings.endArray();// settings.setValue("字母串", "EEE"); // 数组外可以定义和数组中键重名的“设置对” printf("%s\n", "测试数组应用"); int size = settings.beginReadArray("myArray"); for(int i = 0; i < size; i++) { settings.setArrayIndex(i); printf("%s\n", settings.value("字母串").toString().toAscii().data()); } settings.endArray();// printf("%s\n", settings.value("字母串").toString().toAscii().data()); return a.exec();}
只是简单的测试,为了方便,没有给字符串加tr()以迎合国际化