selectfiledialog.cpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include "selectfiledialog.h"
  2. #include "ui_selectfiledialog.h"
  3. SelectFileDialog::SelectFileDialog(QWidget* parent)
  4. : QDialog(parent)
  5. , ui(new Ui::SelectFileDialog)
  6. {
  7. ui->setupUi(this);
  8. m_model = new QFileSystemModel(this);
  9. m_model->setRootPath(QApplication::applicationDirPath());
  10. ui->tvData->setModel(m_model);
  11. ui->tvData->setColumnHidden(1, true);
  12. ui->tvData->setColumnHidden(2, true);
  13. ui->tvData->setColumnHidden(3, true);
  14. ui->tvData->resizeColumnToContents(0);
  15. }
  16. SelectFileDialog::~SelectFileDialog()
  17. {
  18. delete ui;
  19. }
  20. QFileInfo SelectFileDialog::getFileInfo()
  21. {
  22. QModelIndex index = ui->tvData->currentIndex();
  23. QFileInfo info = m_model->fileInfo(index);
  24. return info;
  25. }
  26. void SelectFileDialog::on_btnOpen_clicked()
  27. {
  28. QString path = QFileDialog::getExistingDirectory();
  29. if (path == "") {
  30. return;
  31. }
  32. ui->edtPath->setText(path);
  33. m_model->setRootPath(path);
  34. ui->tvData->setRootIndex(m_model->index(path));
  35. }
  36. void SelectFileDialog::on_btnOk_clicked()
  37. {
  38. accept();
  39. }
  40. void SelectFileDialog::on_btnCancel_clicked()
  41. {
  42. reject();
  43. }