Очистка/сброс модели в QT (удаляющий все строки)

Я думаю самый легкий способ сделать, который добавляет -fvisibility=hidden к gcc опциям, и явно обнародуйте видимость некоторых символов в коде (__attribute__((visibility("default")))). См. документацию здесь .

может быть способ выполнить это ld сценариями компоновщика, но я не знаю много об этом.

11
задан AAEM 22 August 2018 в 15:12
поделиться

3 ответа

Как правило, я бы предпочел, чтобы модель реагировала на изменения и предпринимала необходимые действия для обновления своего представления (конечно, косвенно). Тем не менее, модели программирования могут быть (= есть) PITA, поэтому я, вероятно, посмотрел бы сквозь пальцы, если бы просматривал код, который создал новую модель и удалил старую. Делайте это только в том случае, если вы уверены, что пользователь удалит все строки. Если пользователь может удалять элементы из модели постепенно, вам, вероятно, лучше в первую очередь правильно реализовать удаление ...

Кроме того, ModelTest может помочь вам обнаружить проблемы с вашими моделями Qt.

6
ответ дан 3 December 2019 в 07:13
поделиться

Если пользователь действительно начинает с нового набора данных, то для меня имеет смысл просто удалить старую модель и создать новую. Просто, эффективно и соответствует тому, что делает пользователь.

6
ответ дан 3 December 2019 в 07:13
поделиться

I don't know which way it truly "better" but removing all the rows can be a rather simple function something like:

void MyModel::Clear(void)
{
    // remove all data from internal data structures
    ...

    // Call QAbstractItemModel::reset to ensure any views know that everything has changed.
    reset();
}
5
ответ дан 3 December 2019 в 07:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: