QSettings類關聯了相關文件(不同的平台,文件類型不同),以保存應用程序的一些設置,如下是關於QSettings的一些簡單的測試,值得探討的地方還請不吝指教
[cpp]
#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()以迎合國際化