![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
poluna |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 5.10.2015 Пользователь №: 4458 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Привет всем.
Снова я к вам со своими проблемами. ![]() Есть два QTreeView, они используют модель производную от QAbstractItemModel. Проблема в том, что при перетаскивании item'а из одного дерева в другое, появляется разрешающая иконка только в том случае, если этот item навести непосредственно на другой item в дереве. Если item будет над самим QTreeView, то иконка будет запрещающей. Все сделано по документации: Использование Drag and Drop с представлениями элементов У обоих деревьев есть: В модели переопределены:
В чем может быть проблема ума не приложу! ![]() Должна быть возможность бросать item непосредственно в само окно QTreeView, без наведения на другой item. Сообщение отредактировал poluna - 23.12.2015, 14:09 |
|
|
lanz |
![]()
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Посмотрите исходники:
https://github.com/qtproject/qtbase/blob/de...mview.cpp#L1995 https://github.com/qtproject/qtbase/blob/de...emview_p.h#L308 В вашем случае rootIndex это невалидный индекс, а ваша модель не врозвращает для невалидных индексов никаких флагов:
Вам нужно возвращать правильные флаги для невалидного индекса (и обрабатывать дроп на невалидный индекс). Сообщение отредактировал lanz - 24.12.2015, 9:21 |
|
|
poluna |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 5.10.2015 Пользователь №: 4458 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Есть эти флаги, пришлось перейти на QStandardItemModel, там такой проблемы нет.
|
|
|
lanz |
![]()
Сообщение
#4
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Есть эти флаги Чтото вы меня дурите:
Если индекс невалидный(root), код выше вернет None. Сообщение отредактировал lanz - 25.12.2015, 15:34 |
|
|
poluna |
![]()
Сообщение
#5
|
Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 5.10.2015 Пользователь №: 4458 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Кажется я поняла, что нужно сделать, попробую.
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 17.2.2025, 3:58 |