selectdatedialog.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #include "selectdatedialog.h"
  2. #include "ui_selectdatedialog.h"
  3. SelectDateDialog::SelectDateDialog(QWidget* parent) :
  4. QDialog(parent),
  5. ui(new Ui::SelectDateDialog)
  6. {
  7. ui->setupUi(this);
  8. ui->wgtCal->installEventFilter(this);
  9. }
  10. SelectDateDialog::~SelectDateDialog()
  11. {
  12. delete ui;
  13. }
  14. QString SelectDateDialog::date()
  15. {
  16. return ui->wgtCal->selectedDate().toString("yyyy-MM-dd");
  17. }
  18. bool SelectDateDialog::eventFilter(QObject* watched, QEvent* event)
  19. {
  20. if (watched == ui->wgtCal)
  21. {
  22. qDebug() << event->type();
  23. if (event->type() == QEvent::MouseButtonRelease)
  24. {
  25. emit ui->btnOk->click();
  26. }
  27. }
  28. return true;
  29. }
  30. void SelectDateDialog::on_btnCancel_clicked()
  31. {
  32. reject();
  33. }
  34. void SelectDateDialog::on_btnOk_clicked()
  35. {
  36. accept();
  37. }
  38. bool selectDateDialog(QLineEdit* edit)
  39. {
  40. bool b = false;
  41. SelectDateDialog* dlg = new SelectDateDialog();
  42. int ret = dlg->exec();
  43. if (ret == QDialog::Accepted)
  44. {
  45. b = true;
  46. edit->setText(dlg->date());
  47. }
  48. delete dlg;
  49. return b;
  50. }