У меня много QStandardItemв QTreeView, который я хочу постоянно обновлять. Мой текущий метод ниже, где я использую функцию инициализации getStandardItemModelItems()
и функция обновления updateStandardItemModelItems()
но чувствует себя неудобно, так как мне нужно хранить каждый отдельный указатель, чтобы я мог обновить его позже. Я хочу, чтобы QStandardItems обновлялся медленнее (2 Гц), чем базовые данные (100 Гц), поэтому я использую функцию обновления. Также я не хочу сбрасывать и инициализировать QStandardItemModel каждый раз, когда хочу обновить его, так как есть элементы, которые не обновляются.
QStandardItem* ParentClass::getStandardItemModelItems(bool getRowNames) {
if (getRowNames) top = new QStandardItem(QString("name"));
else top = new QStandardItem(getName());
if (getRowNames) currentValueItem = new QStandardItem(QString("currentValue"));
else currentValueItem = new QStandardItem(QString::number(currentValue));
top->appendRow(currentValueItem);
top->appendRow(childClass.getStandardItemModelItems(getRowNames));
return top;
}
void ParentClass::updateStandardItemModelItems() {
top->setData(getName());
currentValueItem->setData(currentValue);
childClass.updateStandardItemModelItems();
}
Есть ли лучший способ хранения / обновления этих данных?
Задача ещё не решена.
Других решений пока нет …