【发布时间】:2018-03-15 01:19:32
【问题描述】:
我已经在网上搜索了几天,但找不到任何可以帮助解决我的具体问题的东西。我正在尝试设置此对话框以接受要放入 QTreeWidget 的文件,命名为 filesTreeWidget,但我一直在网上搜索的所有内容似乎都没有什么不同。我对 QT 和 C++ 也很陌生,所以我确信这没有帮助。 感谢您的帮助
标题
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();
}
【问题讨论】:
-
将元素拖到哪里?
-
我想将文件拖到一个名为 filesTreeWidget 的 QTreeWidget 中,它位于 FileIQ Dialog ui->filesTreeWidget
-
您想在 qtreewidget 中显示什么?文件名?
-
是的,就是这样
-
您希望将它放在 QtreeWidget 的哪个部分?
标签: c++ qt qt5 qtreewidget qtreewidgetitem