QAbstractItemView, или внутренности Qt |
Здравствуйте, гость ( Вход | Регистрация )
QAbstractItemView, или внутренности Qt |
Litkevich Yuriy |
8.2.2009, 16:19
Сообщение
#1
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
В классе QAbstractItemView есть метод setModel(QAbstractItemModel *model)
Цитата /*! Sets the \a model for the view to present. \bold{Note:} This function will also create and set a new selection model, replacing any previously set with setSelectionModel(), but the old selection model will not be deleted. \sa selectionModel(), setSelectionModel() */ и подтверждение сказаному:
Для меня остается загадкой: 1) либо почему старая не удаляется? 2) либо почему старая не используется? В примере %QTDIR%\demos\sqlbrowser при выполнении запроса устанавливается для табличного представления QSqlQueryModel, а при просмотре таблицы, для этого же представления, устанавливается QSqlTableModel. Человек реально много раз может переключаться с одной работы на другую. Тем самым модели выделения будут создаваться вновь и вновь. Как-то странно это все. |
|
|
SABROG |
9.2.2009, 12:10
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
"старая" селекшн-модель может ещё использоваться ну с deleteLater она удалится после использования, когда управление вернется в режим "ожидания" but the old selection model will not be deleted. Да, но тут как-то сказано вскользь, намеками. Тут не сказано, что об удалении должен заботится пользователь. Вот какая еще штука есть QObjectCleanupHandler Если ядро сама удалит какой-то QObject, то он автоматически удаляется из списка. |
|
|
Текстовая версия | Сейчас: 30.11.2024, 15:40 |