#include "resfiledialog.h" #include "ui_resfiledialog.h" #include #include #include #include ResFileDialog::ResFileDialog(QWidget *parent) : QDialog(parent), ui(new Ui::ResFileDialog) { ui->setupUi(this); ui->buttonBox->button(QDialogButtonBox::Cancel)->setText("取消"); ui->buttonBox->button(QDialogButtonBox::Ok)->setText("确定"); QPixmap pix("/Users/menglanluo/pic.png"); ui->label_newFile->setPixmap(pix.scaled(100,100,Qt::KeepAspectRatio)); this->setAcceptDrops(true); ui->label_newFile->setAcceptDrops(false); } ResFileDialog::~ResFileDialog() { delete ui; } void ResFileDialog::dragEnterEvent(QDragEnterEvent *event) { if(event->mimeData()->hasUrls()){ event->acceptProposedAction(); } else{ event->ignore(); } } void ResFileDialog::dropEvent(QDropEvent *event) { const QMimeData *mimeData = event->mimeData(); if(mimeData->hasUrls()){ QList urls = mimeData->urls(); QString urlName = urls.at(0).toLocalFile(); QString fileName = urlName; //TODO: 去除路径显示 ui->label_newFile->setText(fileName); } } void ResFileDialog::on_buttonBox_accepted() { res = ui->label_newFile->text(); } QString ResFileDialog::getResName() { return res; }