Russian Qt Forum
Сентябрь 30, 2024, 14:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTreeWidget and Drag'n'Drop  (Прочитано 4668 раз)
QCasper
Гость
« : Сентябрь 25, 2007, 09:59 »

Имеем QTreeWidget. В нем есть item1 и item2:

- item1
- item2

Перетаскиваю item1 в item2. item1 становится дочерним итемом item2:

- item2
    |
     -- item1

Задача - определить программно, что я перетащил именно item1 в именно item2. То есть нужно сделать так, чтобы после выполнения операции переноса я имел данные (например текст) по обоим итемам.
Записан
denka
Гость
« Ответ #1 : Сентябрь 25, 2007, 11:08 »

Думаю для этих целей можно воспользоваться защищенной ф-цией:
Код:
void rowsInserted ( const QModelIndex & parent, int start, int end )
Записан
QCasper
Гость
« Ответ #2 : Сентябрь 25, 2007, 11:55 »

Допустим. А если предположить, что операция драг-н-дропа не прошла, и первый итем не стал подитемом второго, но все-таки необходимо определить, с какими же итемами была попытка?
Записан
denka
Гость
« Ответ #3 : Сентябрь 25, 2007, 13:32 »

Тогда прийдеться заюзать вот эту ф-ции:
Код:
bool QTreeWidget::dropMimeData ( QTreeWidgetItem * parent, int index, const QMimeData * data, Qt::DropAction action ) 
И пошаманить с QMimeData. По крайней мере лучше ниче в голову пока не приходит Улыбающийся
Записан
QCasper
Гость
« Ответ #4 : Сентябрь 25, 2007, 14:11 »

Почти похоже. Только этот метод не вызывается, если предварительно было

Код:
setDragDropMode(QAbstractItemView::InternalMove)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.148 секунд. Запросов: 21.