0

私は MAC OSx 上の Qt4.7 で作業しています。ドラッグ アンド ドロップ イベントを使用して、QTreewidget にファイルを挿入したいと考えています。一度に複数のファイルを追加したい。私はこれを使用しています:

void MainWindow::dragEnterEvent(QDragEnterEvent * e)
{
    if(e->mimeData()->hasUrls())
    {
        e->acceptProposedAction();
    }

}
void MainWindow::dropEvent(QDropEvent * e)
{
    QTreeWidgetItem *Items = new QTreeWidgetItem(ui->treeWidget);
    foreach(const QUrl &url,e->mimeData()->urls())
    {
        const QString &filename = url.toLocalFile();
        qDebug() << "Dropped file:" << filename;
        Items->setText(0,filename);
    }
}

これを使用すると、一度に 1 つのファイルしか挿入できません。この問題で私を助けてくれる人はいますか? あなたの助けは本当に感謝します。

ありがとう、アシッシュ。

4

1 に答える 1

1

問題は、ツリー ビュー アイテムを 1 つしか作成しないことです。ただし、MIME データで渡した URL ごとに 1 つ必要です。

void MainWindow::dropEvent(QDropEvent *e)
{
    foreach(const QUrl &url, e->mimeData()->urls()) {
        QString filename = url.toLocalFile();
        qDebug() << "Dropped file:" << filename;
        QTreeWidgetItem *item = new QTreeWidgetItem(ui->treeWidget);
        item->setText(0, filename);
    }
}
于 2014-06-30T09:31:08.863 に答える