awTimeLeftTips.cpp 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #include "awTimeLeftTips.h"
  2. #include "ui_awTimeLeftTips.h"
  3. #include "CAppInfo.h"
  4. #include <QDesktopWidget>
  5. awTimeLeftTips::awTimeLeftTips(MASK_POP_WIDGET_TYPE type, QWidget *parent) :
  6. QWidget(parent),
  7. ui(new Ui::awTimeLeftTips)
  8. {
  9. ui->setupUi(this);
  10. setStyleSheet(g_appInfoPtr->m_sQssStr);
  11. if(type == MASK_POP_WIDGET_TYPE::wt_timeLeft)
  12. {
  13. ui->label_awtlt_content->setText(QString::fromLocal8Bit(R"(<html>
  14. <style>
  15. .normal
  16. {
  17. font-size:%1px;
  18. font-family:"Microsoft YaHei";
  19. font-weight:400;
  20. color:rgba(102,102,102,1);
  21. }
  22. .hover
  23. {
  24. font-size:%2px;
  25. font-family:"Microsoft YaHei";
  26. font-weight:600;
  27. color:rgba(255,0,0,1);
  28. }
  29. </style>
  30. <body>
  31. <span class="normal">还有</span><span class="hover">五</span><span class="normal">分钟即将结束本场考试,请合理分配时间!</span>
  32. </body>
  33. </html>)").arg((int)(g_appInfoPtr->m_fRate * 14)).arg((int)(g_appInfoPtr->m_fRate * 16)));
  34. }
  35. else
  36. {
  37. ui->label_awtlt_title->setText(QString::fromLocal8Bit("网络连接异常"));
  38. ui->label_awtlt_content->setText(QString::fromLocal8Bit("退出考试"));
  39. }
  40. initUI();
  41. }
  42. awTimeLeftTips::~awTimeLeftTips()
  43. {
  44. delete ui;
  45. }
  46. void awTimeLeftTips::setText(QString sTitle, QString sContent)
  47. {
  48. ui->label_awtlt_title->setText(sTitle);
  49. ui->label_awtlt_title->setFixedWidth(ui->widget_awtlt_bg->width() - g_appInfoPtr->m_fRate * 20*2);
  50. ui->label_awtlt_title->adjustSize();
  51. ui->label_awtlt_title->setGeometry(g_appInfoPtr->m_fRate * 20, g_appInfoPtr->m_fRate * 20,
  52. ui->label_awtlt_title->width(), ui->label_awtlt_title->height());
  53. ui->label_awtlt_content->setText(sContent);
  54. ui->label_awtlt_content->adjustSize();
  55. ui->label_awtlt_content->setGeometry(g_appInfoPtr->m_fRate * 40, ui->label_awtlt_title->y() + ui->label_awtlt_title->height() + g_appInfoPtr->m_fRate * 40,
  56. ui->label_awtlt_content->width(), ui->label_awtlt_content->height());
  57. }
  58. void awTimeLeftTips::initUI()
  59. {
  60. QDesktopWidget *dekwiget = QApplication::desktop();
  61. setGeometry(0, 0, dekwiget->width(), dekwiget->height());
  62. ui->widget_mask->setGeometry(0, 0, width(), height());
  63. ui->widget_awtlt_bg->setGeometry((width() - g_appInfoPtr->m_fRate*420)/2,
  64. g_appInfoPtr->m_fRate * 190, g_appInfoPtr->m_fRate*420, g_appInfoPtr->m_fRate*190);
  65. ui->label_awtlt_title->adjustSize();
  66. ui->label_awtlt_title->setGeometry(g_appInfoPtr->m_fRate *20, g_appInfoPtr->m_fRate *20,
  67. ui->label_awtlt_title->width(), ui->label_awtlt_title->height());
  68. ui->label_awtlt_content->adjustSize();
  69. ui->label_awtlt_content->setGeometry(g_appInfoPtr->m_fRate * 40, ui->label_awtlt_title->y() + ui->label_awtlt_title->height() + g_appInfoPtr->m_fRate * 40,
  70. ui->label_awtlt_content->width(), ui->label_awtlt_content->height());
  71. ui->btn_awtlt_confirm->setGeometry(ui->widget_awtlt_bg->width() - g_appInfoPtr->m_fRate *(20 + 60),
  72. ui->widget_awtlt_bg->height() - g_appInfoPtr->m_fRate *(20 + 40), 60, 40);
  73. }
  74. void awTimeLeftTips::on_btn_awtlt_confirm_clicked()
  75. {
  76. emit timeLeftConfirm();
  77. }