|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.02.2013, 20:50 | #1 |
Пользователь
Регистрация: 05.12.2012
Сообщений: 67
|
Drag and drop в QMdiArea
Доброго времени суток.
Столкнулся с любопытной проблемой при реализации перетаскивания: Есть QTableWidget. Соответственно, на нём простая таблица с текстом. Ставлю флаг setDragEnabled(true) и получаю возможность вытаскивать элемент. Всё прекрасно. Таблица лежит на виджете. Сам этот виджет расположен в QMdiArea как SubWindow (не наследуется от него, а добавляется в QMdiArea методом addSubWindow). И весёлость заключается в том, что выставив у QMdiArea setAcceptDrops(true) получаю ровным счётом ничего... На указателе с перетаскиваемым объектом знак "нельзя" (перечёркнутый кружок). Может кто сталкивался с подобным? Или у меня где-то ошибка? З.Ы. dragEnterEvent работает, в метод входит. Но мне нужно отлавливать отпускание мыши в событии dropEvent. Вот в него не заходит. |
25.02.2013, 16:14 | #2 |
Пользователь
Регистрация: 05.12.2012
Сообщений: 67
|
Вообщем, с проблемой разобрался. Надо было:
#include <QDragEnterEvent> #include <QDropEvent> Теперь встал очередной вопрос: как выдернуть QMimeData из QDropEvent? |
25.02.2013, 18:37 | #3 |
Пользователь
Регистрация: 05.12.2012
Сообщений: 67
|
И этот вопрос я решил успешно:
Надо переопределить метод mimeData в QTableWidget следующим образом: Код:
А, далее, просто ловим его в другом виджете: Код:
|
04.03.2013, 13:39 | #4 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
прикольно, не видел метод mimeData. Я при драгЕвенте засовывал в mime указатель на перестаскиваемый элемент, при дропе юзал dynamic_cast вроде бы. А может быть путаю, но mimeData() точно не использовал.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Drag And Drop | Adyvan | C# (си шарп) | 0 | 04.03.2012 06:27 |
drag and drop | kelty | Помощь студентам | 0 | 11.09.2009 23:00 |
Drag and Drop | nusik | Общие вопросы C/C++ | 2 | 09.07.2009 11:09 |
Нужна помощь (Drag-And-Drop & Drag-Abd-Dock)) | Arkuz | Общие вопросы Delphi | 1 | 18.04.2009 00:15 |
Drag and Drop | Xardas | Общие вопросы Delphi | 8 | 20.01.2008 23:09 |