resfiledialog.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #include "resfiledialog.h"
  2. #include "ui_resfiledialog.h"
  3. #include <QDragEnterEvent>
  4. #include <QMimeData>
  5. #include <QUrl>
  6. #include <QPushButton>
  7. ResFileDialog::ResFileDialog(QWidget *parent) :
  8. QDialog(parent),
  9. ui(new Ui::ResFileDialog)
  10. {
  11. ui->setupUi(this);
  12. ui->buttonBox->button(QDialogButtonBox::Cancel)->setText("取消");
  13. ui->buttonBox->button(QDialogButtonBox::Ok)->setText("确定");
  14. this->setAcceptDrops(true);
  15. ui->label_newFile->setAcceptDrops(false);
  16. }
  17. ResFileDialog::~ResFileDialog()
  18. {
  19. delete ui;
  20. }
  21. void ResFileDialog::dragEnterEvent(QDragEnterEvent *event)
  22. {
  23. if(event->mimeData()->hasUrls()){
  24. event->acceptProposedAction();
  25. }
  26. else{
  27. event->ignore();
  28. }
  29. }
  30. void ResFileDialog::dropEvent(QDropEvent *event)
  31. {
  32. const QMimeData *mimeData = event->mimeData();
  33. if(mimeData->hasUrls()){
  34. QList<QUrl> urls = mimeData->urls();
  35. QString urlName = urls.at(0).toLocalFile();
  36. QString fileName = urlName;
  37. ui->label_newFile->setText(fileName);
  38. }
  39. }
  40. void ResFileDialog::on_buttonBox_accepted()
  41. {
  42. res = ui->label_newFile->text();
  43. }
  44. QString ResFileDialog::getResName()
  45. {
  46. return res;
  47. }
  48. void ResFileDialog::setResName(QString resName)
  49. {
  50. ui->label_newFile->setText(resName);
  51. }