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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Drag&Drop QTreeWidget QTreeView  (Прочитано 9243 раз)
pupapum
Гость
« : Октябрь 19, 2008, 11:07 »

Всем привет. Сразу хочу поросить не ссылать меня на другие темы... просмотрел все... Вот вопрос. Мне нужно из QTreeView в QTreeWidget таскать разделы. Я облазил весь инет Злой... ничего толкого не нашел. На форуме один парень говорил, что у него примерчик есть, но я ему и письмо писал, и в посте том отписался - тишина одним словом В замешательстве. Буду очень признателен если кто-нибудь поделиться данным примером. P.S. в драг анд дропе ноль, формально понимаю что это и как выглядит, но никогда не щупал это.  Веселый Qt 4.3.2
« Последнее редактирование: Октябрь 19, 2008, 12:03 от pupapum » Записан
ритт
Гость
« Ответ #1 : Октябрь 19, 2008, 12:03 »

так-с...где-то на http://qtfaq.ru/ парень выкладывал сниппет - там именно то, что тебе нужно. НО...код в том сниппете содержал множество неточностей и утечек - некоторые я исправил, но наверняка не все (код правил прямо на странице - без компиляции) - поэтому внимательно пройдись по коду...желательно валграйндом.

упд. вот и ссылочка - http://qtfaq.ru/tiki-index.php?page=DragAndDrop+in+QTreeWidget - но я не знаю с моими это правками или нет, т.к. раньше на сайте было всё иначе - возможно, сменили движок и перезалили статьи...
Записан
pupapum
Гость
« Ответ #2 : Октябрь 19, 2008, 12:16 »

Спасибо. Сейчас разбираюсь сижу
Записан
pupapum
Гость
« Ответ #3 : Октябрь 19, 2008, 13:52 »

Ошибка  1(На один и тоже метод одна и таже ошибка раз 7)
d:\Development\Form\Src\basetree.h(34): error C3209: 'сheckFormat' : Unicode identifiers are not yet supported

Ошибка 2
d:\Development\Form\Src\basetree.cpp(80): error C2601: 'baseTree::GetFormat' : local function definitions are illegal

Ошибка 3
d:\Development\Form\Src\basetree.cpp(58): error C2601: 'baseTree::startDrag' : local function definitions are illegal

Записан
pupapum
Гость
« Ответ #4 : Октябрь 19, 2008, 13:57 »

Ошибка  1(На один и тоже метод одна и таже ошибка раз 7)
d:\Development\Form\Src\basetree.h(34): error C3209: 'сheckFormat' : Unicode identifiers are not yet supported

С этой штукой разобрался, там кодировки погнали, перебил значения все норм. Что делать с теми двуми ума не приложу...
Записан
ритт
Гость
« Ответ #5 : Октябрь 19, 2008, 14:05 »

вообще, реализация там ужасная Улыбающийся
лучше просто посмотри на тот сниппет в качестве примера и сделай по-своему Улыбающийся
фактически тебе нужен вот этот кусок кода:
Код:
    QMimeData *mimeData = new QMimeData; 
    mimeData->setData(signature, sendData);
    QDrag *drag = new QDrag(this);
    drag->setMimeData(mimeData);
    drag->setHotSpot(QPoint(0,0));
    drag->setPixmap(pmIcon);
    drag->exec(Qt::MoveAction);
    delete drag;
и документация по QDrag - там всё предельно ясно...
Записан
pupapum
Гость
« Ответ #6 : Октябрь 19, 2008, 14:07 »

мама, мне страшно  Непонимающий . Как мне всегда страшно разбираться в чем-то новом. Чувствую кофе будет постоянным на сегодня(
Записан
ритт
Гость
« Ответ #7 : Октябрь 19, 2008, 14:14 »

Как мне всегда страшно разбираться в чем-то новом
это ненормально для программиста Улыбающийся

там правда ничего сложного! прочти доку по классу, посмотри мой патч к QTabBar'у (в доп.компонентах) - и напиши хороший тривью с тяни-бросаем Улыбающийся
а прерогативу копипастить код оставь мелкософту :Р
Записан
pupapum
Гость
« Ответ #8 : Октябрь 19, 2008, 14:24 »

А как тут будет связь происходить. Мне нужно перетаскивать элемент из QTreeView в QTreeWidget. Мне методы расписать на два класса надо (одни и теже) или часть методов в QTreeView ,а  другая в QTreeWidget?
Записан
ритт
Гость
« Ответ #9 : Октябрь 19, 2008, 14:36 »

придётся перегрузить и тривью, и тривиджет...
Записан
pupapum
Гость
« Ответ #10 : Октябрь 19, 2008, 14:42 »

Одним и тем же?
Записан
pupapum
Гость
« Ответ #11 : Октябрь 19, 2008, 15:06 »

КОроче я нифига тут не понимаю!!!  Злой Я все исходники в examples/draganddrop пересмотрел!!! Беру пробую.. черте что.. но уже прогресс что хоть значек перетаскивания появлися... Но он такой как знак блокировки )!!!! Кружок перечеркнутый. ААА!!! Мой моск!!!



А иконка, которую я назначаю для перетаскивания видна только за пределами форма, т.е. как мышку за форму выносишь так и значек появляется!
« Последнее редактирование: Октябрь 19, 2008, 15:09 от pupapum » Записан
pupapum
Гость
« Ответ #12 : Октябрь 20, 2008, 08:24 »

Сори, что поорал тут. Читаю ассистант, все понимаю, думаю скоро напиши. Пост не удаляйте плиз. Я если напишу =) потом сюда все исходники выложу для других. А вообще я  и сам думаю тут вопросики еще позадовать =)
Записан
ритт
Гость
« Ответ #13 : Октябрь 20, 2008, 08:37 »

Улыбающийся
Записан
Danila_Bagrofff
Гость
« Ответ #14 : Апрель 07, 2009, 07:38 »

У меня похожая проблема с QTableWidget. Помогите.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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