А я заканчивал электрооборудование судов, но к делу это не относится.
Обычно для хранения большого кол-ва данных я использую статические функции в отдельном классе, не привязанные ни к одной форме:
Класс values / values.h:
#ifndef VALUES_H
#define VALUES_H
//Здесь создаю структуры, доступные также для других классов, например
//Описание категорий материалов
typedef struct _MaterialCategory MaterialCategory;
struct _MaterialCategory{
int number;
QString name;
} ;
//Далее описание самого класса
class values
{
public:
static int getMoveMode();
static bool getLimitMode();
static bool getAntialiasMode();
static bool getConturLineMode();
static QString getBinDir();
static void setMoveMode(const int &aMode);
static void setLimitMode(const bool &aLimit);
static void setAntialiasMode(const bool &aAlias);
static void setConturLineMode(const bool &aLineMode);
static void setBinDir(const QString &aBindDir);
};
#endif // VALUES_H
В файле values.cpp:
#include "values.h"
static int MoveMode = 1;
static bool LimitMode = true;
static QString myBinDir;
static QString ModelPath;
static QHash<QString,QString> DBVarValues;
static QQueue<QString> VarValues;
static QString TextureDir;
static QString TmpPath;
static QString last_command; //Последняя команда
static QString LastCoordinate; //Это последние введенные координаты
static QString LastMacrosDir; //Директория для загрузки макросов
static int myViewMode = 0;
static int myTransparency = 0;
//и т.д.
//методы get
int values::getMoveMode()
{
return MoveMode;
}
bool values::getLimitMode()
{
return LimitMode;
}
bool values::getAntialiasMode()
{
return myAntialising;
}
bool values::getConturLineMode()
{
return myConturDisplay;
}
//методы set
void values::setAntialising(const bool &aCurrent)
{
myAntialising = aCurrent;
}
void values::setConturDisplay(const bool &aCurrent)
{
myConturDisplay = aCurrent;
}
void values::setViewMode(const int &aViewMode)
{
myViewMode = aViewMode;
}
//и т.д.
Для использования такого класса достаточно вызвать в любом классе values::getMode() или values::setMode(0);
На практике такие статические классы очень скоростные для хранения данных.