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