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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Drag and Drop из QtreeWidget в QGraphicsView  (Прочитано 3035 раз)
harinezumi
Гость
« : Июль 03, 2010, 13:51 »

Subj. Необходимо дать пользователю возможность перетаскивать item`ы из QTreeWidget'a, чтобы сохранялся текст, иконка и скрытый номер(нужно будет создавать QGraphicsItem) на QGraphicsView. Оба виджета - на одной форме. Но пока не получается даже отслеживать drop элемента на QGraphicsView. AcceptDrops установлен в true в конструкторе формы. Прочитал в документации статью про drag and drop, переопределил обработчики событий, но, похоже, mousePressEvent вообще не отслеживается, а dropEvent срабатывает только один раз. Может, кто-нибудь сталкивался с подобным?
Код:
void addcondition::dragEnterEvent ( QDragEnterEvent * event )
{
    event->acceptProposedAction();
}

void addcondition::dropEvent ( QDropEvent * event )
{
    if(m_ui->toolBox->currentIndex()==0)
    {
        scene.addText(event->mimeData()->text());
        m_ui->gcond->setScene(&scene);
        m_ui->gcond->show();
    }
    event->acceptProposedAction();
}
void addcondition::mousePressEvent( QMouseEvent * event)
{
    if (event->button() == Qt::LeftButton)
    {
        QDrag *drag = new QDrag(this);
        QMimeData *mimeData = new QMimeData;
        if(m_ui->toolBox->currentIndex()==0)
            mimeData->setText(m_ui->cond_view->currentItem()->text(0));
        drag->setMimeData(mimeData);
        Qt::DropAction dropAction = drag->exec();
    }
}
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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