Здравствуйте, хотел поросить совета в организации кода. Хочу сделать следующее:
есть таблица (например, QTableWidget), есть классы разных элементов (инструмент, машина, работник и т.п.). Хочу отнаследоваться от QTableWidget и делать примерно так
// так выглядит определение
QTableColumn* QTableWidgetEx::addStringColumn(const QString &title, const QString &propertyName);
bool QTableWidgetEx::addItem(QObject *item);
// добавляю колонки
m_table->addStringColumn(tr("Identification"), "id");
m_table->addStringColumn(tr("Name"), "name");
m_table->addStringColumn(tr("Description"), "description");
// добавляю объект
QCar *newCar = new QCar();
newCar->setId(tr("SX4"));
newCar->setName(tr("Suzuki"));
newCar->setDescription(tr("Simple 4x4"));
m_table->addItem(newCar);
то есть хочется определить колонку, указать свойство, за которое она будет отвечать, а потом просто сказать "добавь элемент". а таблица уже будет сама "дергать" свойства объекта. смущает два момента:
1) Нужно будет дублировать название свойства (один раз в классе объекта и каждый раз когда я буду создавать таблицу). То есть, если название свойства поменяется, то нужно будет менять везде.
2) Не будет ли такой вариант с "дерганием" свойств для каждого значения в таблице медленным (при количестве элементов > 10000).
Может я придумываю влосипед? Спасибо.