LINUX.ORG.RU

Qt + Drag-n-drop


0

0

Есть QTreeWidget и QGraphicsView. В хидере формы определена QGraphicsScene, которая привязана к последнему и на которой будет всё прорисовываться.

Необходимо обеспечить возможность перетаскивания item'ов c дерева на область рисования, чтобы в результате получалась картинка с подписью(пока пусть хотя бы текст какой-нибудь добавляется).

Попробовал реимплементировать события dragEnterEvent и dropEvent, но последнее почему-то срабатывает только один раз. Свойство setAcceptDrops у целевого виджета установлено в true, но после единственного срабатывания события, кажется, сбрасывается(появляется иконка невозможности переноса).

void addcondition::dragEnterEvent ( QDragEnterEvent * event )
{
    if (event->mimeData()->hasFormat("application/x-qabstractitemmodeldatalist")){
        event->acceptProposedAction();
    }
}

void addcondition::dropEvent ( QDropEvent * event )
{
    qDebug()<<event->source()->children();

    if(m_ui->toolBox->currentIndex()==0)
    {
        scene.addText("drop detected");
        m_ui->gcond->setScene(&scene);
        m_ui->gcond->show();
    }

}

Видимо, что-то не так с переопределением DropEvent. Может, кто сталкивался?

★★★★

Последнее исправление: wingear (всего исправлений: 1)

Ответ на: комментарий от unkier

бесполезно. Попробовал переопределить эти методы не для формы в целом, а для классов виджетов, которые уыаствуют, qmake сразу заверещал что-то непонятное, пришлось удалить объектные файлы и пересобрать. После этого вообще какая НЁХ стала твориться - приходится вручную править файл ui_* перед каждой пересборкой. Похоже, что-то совсем не так делаю. Такая простая операция не м.б. настолько неинтуитивной

wingear ★★★★
() автор топика
Ответ на: комментарий от wingear

ты прав. что то ты совсем делаешь не так. qmake верещит это совсем плохо...

unkier
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.