QTreeView - dpor в запрещенную позицию |
Здравствуйте, гость ( Вход | Регистрация )
QTreeView - dpor в запрещенную позицию |
LonelyDreamer |
13.7.2009, 11:14
Сообщение
#1
|
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 25.6.2009 Пользователь №: 850 Спасибо сказали: 0 раз(а) Репутация: 0 |
Имеется стандартный QTreeView и соответствующая модель, для которой определены операции drag'n'drop (перемещение). При перемещении на конкретный элемент все работает нормально. Но если кинуть элемент eight в красную точку, как показано на рисунке, то элемент вставляется (пытается) в корень (QIndexModel()), хотя функция flags() не устанавливает для него Qt::ItemIsDropEnabled (вообще кидание элементов в корень возможно, но элементы не должны находиться в корне).
Как с этим бороться? |
|
|
||
Litkevich Yuriy |
13.7.2009, 16:15
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
LonelyDreamer |
13.7.2009, 17:23
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 25.6.2009 Пользователь №: 850 Спасибо сказали: 0 раз(а) Репутация: 0 |
Имел в виду, что элемент нельзя скопировать/переместить в непосредственного родителя - функция flags не возвращает в таком случае Qt::ItemIsDropEnabled и в treeView показывается черный знак "стоп".
Вообще, проблема в том, что элемент, который в корень (QModelIndex()) вставить нельзя (то есть one и eight) каким-то образом в него вставляется, хотя Qt::ItemIsDropEnabled не установлен.
В вывод приложения получаем строку "It's Impossible!". |
|
|
Текстовая версия | Сейчас: 22.12.2024, 10:24 |