widget.cpp 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #include "widget.h"
  2. #include "ui_widget.h"
  3. #include <QPainter>
  4. #include <QTimer>
  5. #include <QtMath>
  6. Widget::Widget(QWidget *parent)
  7. : QWidget(parent)
  8. , ui(new Ui::Widget)
  9. {
  10. setWindowFlags(Qt::CustomizeWindowHint|Qt::FramelessWindowHint);
  11. ui->setupUi(this);
  12. setFixedSize(480,160);
  13. ui->frame_ch->setFrameShadow(QFrame::Plain); // 设置边框阴影为无(或根据需要设置为其他值)
  14. ui->frame_ch->setLineWidth(2); // 设置边框宽度
  15. QPainter painter(this);
  16. initCanvas(painter);
  17. }
  18. Widget::~Widget()
  19. {
  20. delete ui;
  21. }
  22. void Widget::initCanvas(QPainter& painter)
  23. {
  24. //抗锯齿
  25. painter.setRenderHint(QPainter::Antialiasing,true);
  26. //底色设置成黑色
  27. painter.setBrush(Qt::gray);
  28. painter.drawRect(rect());
  29. }
  30. void Widget::UpdateStatusInfo()
  31. {
  32. QString strTemp;
  33. //更新传感器及日期时间
  34. strTemp=QString("%1").arg(chid);
  35. ui->label_chid->setText(strTemp);
  36. if(chStatus)
  37. {
  38. ui->pushButton_ch->setIcon(QIcon(":/resource/open.png"));
  39. ui->label_chid->setStyleSheet("color: rgb(10, 197, 50);border: none;");
  40. ui->label_chV->setStyleSheet("color: rgb(10, 197, 50);border: none;");
  41. ui->label_chI->setStyleSheet("color: rgb(10, 197, 50);border: none;");
  42. ui->label_2->setStyleSheet("color: rgb(10, 197, 50);border: none;");
  43. ui->label_4->setStyleSheet("color: rgb(10, 197, 50);border: none;");
  44. ui->label_5->setStyleSheet("color: rgb(10, 197, 50);border: none;");
  45. ui->label_7->setStyleSheet("color: rgb(10, 197, 50);border: none;");
  46. QPalette palette = ui->frame_ch->palette();
  47. palette.setColor(QPalette::Window, QColor(0, 255, 0));
  48. ui->frame_ch->setStyleSheet("QFrame { border: 2px solid rgb(10, 197, 50); border-radius: 0px; }");
  49. }
  50. else
  51. {
  52. ui->pushButton_ch->setIcon(QIcon(":/resource/close.png"));
  53. ui->label_chid->setStyleSheet("color: red;border: none;");
  54. ui->label_chV->setStyleSheet("color: red;border: none;");
  55. ui->label_chI->setStyleSheet("color: red;border: none;");
  56. ui->label_2->setStyleSheet("color: red;border: none;");
  57. ui->label_4->setStyleSheet("color: red;border: none;");
  58. ui->label_5->setStyleSheet("color: red;border: none;");
  59. ui->label_7->setStyleSheet("color: red;border: none;");
  60. QPalette palette = ui->frame_ch->palette();
  61. palette.setColor(QPalette::Window, QColor(255, 0, 0));
  62. ui->frame_ch->setStyleSheet("QFrame { border: 2px solid red; border-radius: 0px; }");
  63. }
  64. strTemp=QString::number(chV, 'f', 2);
  65. ui->label_chV->setText(strTemp);
  66. strTemp=QString::number(chI, 'f', 2);
  67. ui->label_chI->setText(strTemp);
  68. }