Ich habe seit Tagen online gesucht und ich kann nichts finden, um mit meinem spezifischen Problem zu helfen. Ich versuche, diesen Dialog einzurichten, um Dateien zu akzeptieren, die in das QTreeWidget namens filesTreeWidget fallen, aber alles, was ich online gesucht habe, scheint keinen Unterschied zu machen. Ich bin auch ziemlich neu in QT und C++, also bin ich mir sicher, dass das nicht hilft. Danke für jede HilfeDrag & Drop-Datei in QTreeWidget innerhalb von QDialog
Kopf
class FileIQ : public QDialog
{
Q_OBJECT
protected:
void dropEvent(QDropEvent *event);
void dragEnterEvent(QDragEnterEvent *event);
void dragMoveEvent(QDragMoveEvent *event);
void dragLeaveEvent(QDragLeaveEvent *event);
}
Cpp
FileIQ::FileIQ(QWidget *parent, DR::EnginePtr engine)
: QDialog(parent)
, ui(new Ui::FileIQ)
, engine_(engine)
{
ui->filesTreeWidget->setAcceptDrops(true);
ui->filesTreeWidget->setDropIndicatorShown(true);
setAcceptDrops(true);
}
void FileIQ::dropEvent(QDropEvent *event)
{
foreach(const QUrl &url, event->mimeData()->urls()) {
QString filename = url.toLocalFile();
qDebug() << "Dropped file:" << filename;
QTreeWidgetItem *item = new QTreeWidgetItem(ui->filesTreeWidget);
item->setText(0, filename);
}
}
void FileIQ::dragEnterEvent(QDragEnterEvent *event)
{
event->accept();
}
void FileIQ::dragMoveEvent(QDragMoveEvent * event)
{
event->accept();
}
void FileIQ::dragLeaveEvent(QDragLeaveEvent * event)
{
event->accept();
}
Wo ziehen Sie die Elemente? – eyllanesc
Ich möchte die Dateien in ein QTreeWidget mit dem Namen filesTreeWidget ziehen, das sich im FileIQ Dialog befindet. ui-> filesTreeWidget –
Und was möchten Sie im qtreewidget anzeigen? Der Name der Dateien? – eyllanesc