QStackedWidget не запускает события перетаскивания

Я получил простой класс MyStackedWidget но похоже, что он не запускает события перетаскивания — что я делаю не так?

    #ifndef MYSTACKEDWIDGET_H
#define MYSTACKEDWIDGET_H

#include <QStackedWidget>

class MyStackedWidget : public QStackedWidget
{
Q_OBJECT
public:
MyStackedWidget();

signals:
void dragEnterSignal(QDragEnterEvent *event);
void dropSignal(QDropEvent *event);
void dragMoveSignal(QDragMoveEvent *event);
void dragLeaveSignal(QDragLeaveEvent *event);

public slots:
void dragEnterEvent(QDragEnterEvent *event);
void dropEvent(QDropEvent *event);
void dragMoveEvent(QDragMoveEvent *event);
void dragLeaveEvent(QDragLeaveEvent *event);
};

#endif // MYSTACKEDWIDGET_H

#include "mystackedwidget.h"#include <QMimeData>
#include <QDragEnterEvent>

MyStackedWidget::MyStackedWidget()
{
setMouseTracking(true);
}

void MyStackedWidget::dragEnterEvent(QDragEnterEvent *event)
{
const QMimeData *mimeData = event->mimeData();

if(mimeData->hasUrls() && mimeData->urls().size() == 1) {
event->acceptProposedAction();
}
emit dragEnterSignal(event);
}

void MyStackedWidget::dropEvent(QDropEvent *event)
{
emit dropSignal(event);
}

void MyStackedWidget::dragMoveEvent(QDragMoveEvent *event)
{
emit dragMoveSignal(event);
}

void MyStackedWidget::dragLeaveEvent(QDragLeaveEvent *event)
{
emit dragLeaveSignal(event);
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]