JackLovel
5/29/2019 - 7:46 AM

施动 和 释放 (记事本)

void Widget::dragEnterEvent(QDragEnterEvent *e)
{
    if (e->mimeData()->hasFormat("text/uri-list")) {
        e->acceptProposedAction();
    }
}

void Widget::dropEvent(QDropEvent *e)
{
    QList<QUrl> urls = e->mimeData()->urls();
    if (urls.empty()) {
        return;
    }

    QString fileName = urls.first().toLocalFile();
    if (fileName.isEmpty()) {
        return;
    }

    if (readFile(fileName)) {
        setWindowTitle(tr("%1 - %2").arg(fileName, tr("Drag File")));
    }
}

bool Widget::readFile(const QString &fileName)
{
    bool r = false;
    QFile file(fileName);
    QString content;
    if (file.open(QIODevice::ReadOnly)) {
        content = file.readAll();
        r = true;
    }

    textEdit->setText(content);
    return r;
}