![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Анна |
![]()
Сообщение
#1
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 276 Регистрация: 22.5.2008 Из: Зеленоград Пользователь №: 181 Спасибо сказали: 30 раз(а) Репутация: ![]() ![]() ![]() |
Хотела реализовать интерфейс, похожий на MSVS: Список структур с данными, отображенный в QTreeView, при двойном щелчке на элементе создаётся окно в QMdiArea для редактирования структуры. Если окно для элемента списка уже создано, то оно становится активным.
Возникли две проблемы: 1. Для отслеживания, какие окна уже созданы, хотела использовать в делегате QMap<void*, QWidget*>, первый параметр указатель на структуру, второй параметр - окно QMdiSubWindow.
Я так понимаю, что QMap не хочет в качестве ключа брать указатель, который не const, так как в insert оба параметра const. Пробовала явно приводить к const, не помогло. Я вообще с QMap никогда не имела дела, что делаю не так , не понимаю. 2. Если не связываться с QMap, а в делегате открывать диалог для редактирования, то в QTreeView затирается ячейка с выбранным элементом. Мне надо, чтобы делегат в ячейке ничего не трогал, ничего не перерисовывал. как этого добиться? Сообщение отредактировал Анна - 21.3.2014, 14:39 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 15.7.2025, 20:36 |