#include "widget.h" #include "ui_widget.h" #include #include #include Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { setWindowFlags(Qt::CustomizeWindowHint|Qt::FramelessWindowHint); ui->setupUi(this); setFixedSize(480,160); ui->frame_ch->setFrameShadow(QFrame::Plain); // 设置边框阴影为无(或根据需要设置为其他值) ui->frame_ch->setLineWidth(2); // 设置边框宽度 QPainter painter(this); initCanvas(painter); } Widget::~Widget() { delete ui; } void Widget::initCanvas(QPainter& painter) { //抗锯齿 painter.setRenderHint(QPainter::Antialiasing,true); //底色设置成黑色 painter.setBrush(Qt::gray); painter.drawRect(rect()); } void Widget::UpdateStatusInfo() { QString strTemp; //更新传感器及日期时间 strTemp=QString("%1").arg(chid); ui->label_chid->setText(strTemp); if(chStatus) { ui->pushButton_ch->setIcon(QIcon(":/resource/open.png")); ui->label_chid->setStyleSheet("color: rgb(10, 197, 50);border: none;"); ui->label_chV->setStyleSheet("color: rgb(10, 197, 50);border: none;"); ui->label_chI->setStyleSheet("color: rgb(10, 197, 50);border: none;"); ui->label_2->setStyleSheet("color: rgb(10, 197, 50);border: none;"); ui->label_4->setStyleSheet("color: rgb(10, 197, 50);border: none;"); ui->label_5->setStyleSheet("color: rgb(10, 197, 50);border: none;"); ui->label_7->setStyleSheet("color: rgb(10, 197, 50);border: none;"); QPalette palette = ui->frame_ch->palette(); palette.setColor(QPalette::Window, QColor(0, 255, 0)); ui->frame_ch->setStyleSheet("QFrame { border: 2px solid rgb(10, 197, 50); border-radius: 0px; }"); } else { ui->pushButton_ch->setIcon(QIcon(":/resource/close.png")); ui->label_chid->setStyleSheet("color: red;border: none;"); ui->label_chV->setStyleSheet("color: red;border: none;"); ui->label_chI->setStyleSheet("color: red;border: none;"); ui->label_2->setStyleSheet("color: red;border: none;"); ui->label_4->setStyleSheet("color: red;border: none;"); ui->label_5->setStyleSheet("color: red;border: none;"); ui->label_7->setStyleSheet("color: red;border: none;"); QPalette palette = ui->frame_ch->palette(); palette.setColor(QPalette::Window, QColor(255, 0, 0)); ui->frame_ch->setStyleSheet("QFrame { border: 2px solid red; border-radius: 0px; }"); } strTemp=QString::number(chV, 'f', 2); ui->label_chV->setText(strTemp); strTemp=QString::number(chI, 'f', 2); ui->label_chI->setText(strTemp); }