resfiledialog.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. QPixmap pix("/Users/menglanluo/pic.png");
  15. ui->label_newFile->setPixmap(pix.scaled(100,100,Qt::KeepAspectRatio));
  16. this->setAcceptDrops(true);
  17. ui->label_newFile->setAcceptDrops(false);
  18. }
  19. ResFileDialog::~ResFileDialog()
  20. {
  21. delete ui;
  22. }
  23. void ResFileDialog::dragEnterEvent(QDragEnterEvent *event)
  24. {
  25. if(event->mimeData()->hasUrls()){
  26. event->acceptProposedAction();
  27. }
  28. else{
  29. event->ignore();
  30. }
  31. }
  32. void ResFileDialog::dropEvent(QDropEvent *event)
  33. {
  34. const QMimeData *mimeData = event->mimeData();
  35. if(mimeData->hasUrls()){
  36. QList<QUrl> urls = mimeData->urls();
  37. QString urlName = urls.at(0).toLocalFile();
  38. QString fileName = urlName;
  39. //TODO: 去除路径显示
  40. ui->label_newFile->setText(fileName);
  41. }
  42. }
  43. void ResFileDialog::on_buttonBox_accepted()
  44. {
  45. res = ui->label_newFile->text();
  46. }
  47. QString ResFileDialog::getResName()
  48. {
  49. return res;
  50. }