拖放打开文件
- 窗口界面的setAcceptDrops属性不许设置为true,否则无法接收拖放事件;
- QTextEdit的setAcceptDrops属性必须设置为false,否则进行拖放时会进入QTextedit的拖放事件进行响应;
- 如果调试时,无法进入重写的拖放事件,请检查setAcceptDrops的属性设置。
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QTextEdit>
#include <QLayout>
#include <QDragEnterEvent>
#include <QMimeData>
#include <QUrl>
#include <QTextStream>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
virtual void dragEnterEvent(QDragEnterEvent *event);
virtual void dropEvent(QDropEvent *event);
private:
QTextEdit *m_pTextEdit;
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWin