增加拖放文件功能
This commit is contained in:
parent
eb351c0fa1
commit
c45f1852c6
|
@ -13,6 +13,8 @@ MainWindow::MainWindow(QWidget *parent)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
setAcceptDrops(true); // 允许窗口接受拖放事件
|
||||||
|
|
||||||
connect(ui->actionOpen, &QAction::triggered, this, &MainWindow::onOpenButtonClicked);
|
connect(ui->actionOpen, &QAction::triggered, this, &MainWindow::onOpenButtonClicked);
|
||||||
connect(ui->actionSave, &QAction::triggered, this, &MainWindow::onSaveButtonClicked);
|
connect(ui->actionSave, &QAction::triggered, this, &MainWindow::onSaveButtonClicked);
|
||||||
}
|
}
|
||||||
|
@ -156,3 +158,28 @@ void MainWindow::onSaveButtonClicked()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::dragEnterEvent(QDragEnterEvent *event)
|
||||||
|
{
|
||||||
|
if (event->mimeData()->hasUrls())
|
||||||
|
{
|
||||||
|
event->acceptProposedAction();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::dropEvent(QDropEvent *event)
|
||||||
|
{
|
||||||
|
const QMimeData* mimeData = event->mimeData();
|
||||||
|
if (mimeData->hasUrls())
|
||||||
|
{
|
||||||
|
QList<QUrl> urlList = mimeData->urls();
|
||||||
|
if (urlList.length() == 1)
|
||||||
|
{
|
||||||
|
QString fileName = urlList.first().toLocalFile();
|
||||||
|
if (!fileName.isEmpty())
|
||||||
|
{
|
||||||
|
loadTextFile(fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
#include <QThread>
|
#include <QThread>
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
#include <QTableWidget>
|
#include <QTableWidget>
|
||||||
|
#include <QDragEnterEvent>
|
||||||
|
#include <QMimeData>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
namespace Ui { class MainWindow; }
|
namespace Ui { class MainWindow; }
|
||||||
|
@ -18,6 +20,8 @@ public:
|
||||||
MainWindow(QWidget *parent = nullptr);
|
MainWindow(QWidget *parent = nullptr);
|
||||||
~MainWindow();
|
~MainWindow();
|
||||||
void loadTextFile(const QString& fileName);
|
void loadTextFile(const QString& fileName);
|
||||||
|
void dragEnterEvent(QDragEnterEvent *event);
|
||||||
|
void dropEvent(QDropEvent *event);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void onOpenButtonClicked();
|
void onOpenButtonClicked();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user