crossplatform.ru

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


  Ответ в Drop файлов на конкретный виджет.
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
RazrFalcon Дата 30.8.2011, 20:39
  Пытаюсь сделать 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 - нету.


Весь проект:
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 5.12.2021, 21:03