DialogUserMsg.cpp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #include "DialogUserMsg.h"
  2. #include "Common.h"
  3. DialogUserMsg::DialogUserMsg(QWidget *parent)
  4. : QDialog(parent)
  5. {
  6. ui.setupUi(this);
  7. this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint);
  8. this->hide();
  9. ui.editMsg->setProperty("noinput", true);
  10. ui.labelTime->setProperty("noinput", true);
  11. m_timer = new QTimer(this);
  12. m_TimeCheck = new QTimer(this);
  13. m_nTimeCheck = 3;
  14. QString str;
  15. str = QString("窗口将在 [ %1 ] 秒后关闭").arg(m_nTimeCheck);
  16. ui.labelTime->setText(str);
  17. m_TimeCheck->start(1000);//时间1秒
  18. connect(m_TimeCheck, SIGNAL(timeout()), this, SLOT(onTimeCheck()));
  19. connect(this, SIGNAL(sigAddMassage(QString)), this, SLOT(on_AddMessage(QString)));
  20. connect(m_timer, SIGNAL(timeout()), this, SLOT(onTimeupDestroy()));
  21. }
  22. DialogUserMsg::~DialogUserMsg()
  23. {
  24. }
  25. void DialogUserMsg::on_AddMessage(QString str)
  26. {
  27. ui.editMsg->append(str);
  28. ui.editMsg->moveCursor(QTextCursor::End);
  29. this->move(1, 100);
  30. this->show();
  31. m_timer->start(3000);//时间5秒
  32. m_timer->setSingleShot(true);//仅触发一次
  33. m_nTimeCheck = 3;
  34. str = QString("窗口将在 [ %1 ] 秒后关闭").arg(m_nTimeCheck);
  35. ui.labelTime->setText(str);
  36. }
  37. void DialogUserMsg::AddMessage(QString str)
  38. {
  39. emit sigAddMassage(str);
  40. }
  41. void DialogUserMsg::on_buttonOk_clicked()
  42. {
  43. ui.editMsg->clear();
  44. this->hide();
  45. }
  46. void DialogUserMsg::onTimeupDestroy()
  47. {
  48. ui.editMsg->clear();
  49. this->hide();
  50. }
  51. void DialogUserMsg::onTimeCheck()
  52. {
  53. if (m_nTimeCheck < 0)
  54. {
  55. return;
  56. }
  57. QString str ;
  58. str = QString( "窗口将在 [ %1 ] 秒后关闭").arg(m_nTimeCheck);
  59. ui.labelTime->setText( str);
  60. m_nTimeCheck--;
  61. }