Нужно соотнести большое количество членов класса текстовым именам. Использую вот такую конструкцию.
QMap<QString,void*> vars;
Собственно заполняем в конструкторе.
vars.insert("name",(void*)&this->name);
vars.insert("extraCellsCount",(void*)&this->extraCellsCount);
При этом
в самом классе
QString name;
int extraCellsCount;
В инт записать не проблема, а вот как в QString в таком случае данные писать??
Здравствуйте, a1ien.n3t, Вы писали:
AN>Нужно соотнести большое количество членов класса текстовым именам. Использую вот такую конструкцию.
AN>AN>QMap<QString,void*> vars;
AN>
AN>Собственно заполняем в конструкторе.
AN>AN> vars.insert("name",(void*)&this->name);
AN> vars.insert("extraCellsCount",(void*)&this->extraCellsCount);
AN>
AN>При этом
AN>в самом классе
AN>AN> QString name;
AN> int extraCellsCount;
AN>
AN>В инт записать не проблема, а вот как в QString в таком случае данные писать??
Вопрос такой — а нахрена void* ? Не лучше ли QVariant?
Здравствуйте, CannyMan, Вы писали:
CM>Здравствуйте, a1ien.n3t, Вы писали:
AN>>Нужно соотнести большое количество членов класса текстовым именам. Использую вот такую конструкцию.
AN>>AN>>QMap<QString,void*> vars;
AN>>
AN>>Собственно заполняем в конструкторе.
AN>>AN>> vars.insert("name",(void*)&this->name);
AN>> vars.insert("extraCellsCount",(void*)&this->extraCellsCount);
AN>>
AN>>При этом
AN>>в самом классе
AN>>AN>> QString name;
AN>> int extraCellsCount;
AN>>
AN>>В инт записать не проблема, а вот как в QString в таком случае данные писать??
CM>Вопрос такой — а нахрена void* ? Не лучше ли QVariant?
если пропустить ... что действительно нафига void
QString x = "free";
QString y = "dom";
x.append(y);
Здравствуйте, a1ien.n3t, Вы писали:
AN>Нужно соотнести большое количество членов класса текстовым именам. Использую вот такую конструкцию.
AN>AN>QMap<QString,void*> vars;
AN>
AN>Собственно заполняем в конструкторе.
AN>AN> vars.insert("name",(void*)&this->name);
AN> vars.insert("extraCellsCount",(void*)&this->extraCellsCount);
AN>
AN>При этом
AN>в самом классе
AN>AN> QString name;
AN> int extraCellsCount;
AN>
AN>В инт записать не проблема, а вот как в QString в таком случае данные писать??
Для доступа к членам класса по их текстовым именам можно использовать механизм задания свойств с помощью макроса Q_PROPERY.
Здравствуйте, a1ien.n3t, Вы писали:
AN>Нужно соотнести большое количество членов класса текстовым именам. Использую вот такую конструкцию.
AN>AN>QMap<QString,void*> vars;
AN>
AN>Собственно заполняем в конструкторе.
AN>AN> vars.insert("name",(void*)&this->name);
AN> vars.insert("extraCellsCount",(void*)&this->extraCellsCount);
AN>
AN>При этом
AN>в самом классе
AN>AN> QString name;
AN> int extraCellsCount;
AN>
AN>В инт записать не проблема, а вот как в QString в таком случае данные писать??
Для доступа к членам класса по их текстовым именам можно использовать механизм задания свойств с помощью макроса Q_PROPERY.