resfiledialog.cpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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->textEdit->setAcceptDrops(false);
  16. ui->textEdit->setReadOnly(true);
  17. }
  18. ResFileDialog::~ResFileDialog()
  19. {
  20. delete ui;
  21. }
  22. void ResFileDialog::dragEnterEvent(QDragEnterEvent *event)
  23. {
  24. if(event->mimeData()->hasUrls()){
  25. event->acceptProposedAction();
  26. }
  27. else{
  28. event->ignore();
  29. }
  30. }
  31. void ResFileDialog::dropEvent(QDropEvent *event)
  32. {
  33. const QMimeData *mimeData = event->mimeData();
  34. if(mimeData->hasUrls()){
  35. QList<QUrl> urls = mimeData->urls();
  36. QString urlName = urls.at(0).toLocalFile();
  37. QString fileName = urlName;
  38. ui->textEdit->setText(fileName);
  39. }
  40. }
  41. void ResFileDialog::on_buttonBox_accepted()
  42. {
  43. res = ui->textEdit->toPlainText();
  44. }
  45. QString ResFileDialog::getResName()
  46. {
  47. return res;
  48. }
  49. void ResFileDialog::setResName(QString resName)
  50. {
  51. ui->textEdit->setText(resName);
  52. }