crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Drop файлов на конкретный виджет.
RazrFalcon
  опции профиля:
сообщение 30.8.2011, 20:39
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Пытаюсь сделать drag&drop файлов из файлового менеджера на виджет (в моем случае QTreeWidget).

Если предопределить:
protected:
  virtual void dragEnterEvent(QDragEnterEvent *);
  virtual void dropEvent(QDropEvent *);
Для всего окна (ака QMainWindow), то все работает. А для виджета - уже не срабатывает.

Пример класса наследника QTreeWidget:
.h
Раскрывающийся текст
#ifndef TREEWIDGET_H
#define TREEWIDGET_H

#include <QTreeWidget>
#include <QDragEnterEvent>
#include <QDropEvent>

class TreeWidget : public QTreeWidget
{
  Q_OBJECT
public:
  explicit TreeWidget(QWidget *parent = 0);

signals:

public slots:

protected:
  virtual void dragEnterEvent(QDragEnterEvent *);
  virtual void dropEvent(QDropEvent *);

};

#endif // TREEWIDGET_H


.cpp
Раскрывающийся текст
#include <QtDebug>

#include "treewidget.h"

TreeWidget::TreeWidget(QWidget *parent) :
    QTreeWidget(parent)
{
  setAcceptDrops(true);
}

void TreeWidget::dragEnterEvent(QDragEnterEvent *event)
{
  event->acceptProposedAction();
  qDebug()<<"drag";
}

void TreeWidget::dropEvent(QDropEvent *event)
{
  qDebug()<<"drop";
  event->acceptProposedAction();
}

drag проходит, а drop - нету.


Весь проект:

Сообщение отредактировал RazrFalcon - 30.8.2011, 20:40
Прикрепленные файлы
Прикрепленный файл  drop.zip ( 2.29 килобайт ) Кол-во скачиваний: 40
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 21.5.2019, 5:26