Blame view

app/gui/oven_control/fileprocessgauge.cpp 1.58 KB
1f685a2a5   고영탁   설정 시스템 관리 기능 개발
1
2
3
4
5
6
7
8
9
10
11
12
13
  #include "fileprocessgauge.h"
  #include <QPainter>
  #include <QDebug>
  
  FileProcessGauge::FileProcessGauge(QWidget *parent) : PreheatTempGauge(parent)
  {
      border.load(":/images/gauge/103_usb_graph_01.png");
      indicator.load(":/images/gauge/103_usb_graph_02.png");
      body.load(":/images/gauge/103_usb_graph_03.png");
      min = 0;
      max = 100;
      val = 30;
  }
0faa32511   김태훈   컴파일 경고 제거 및 리팩토링
14
  void FileProcessGauge::paintEvent(QPaintEvent */*event*/){
1f685a2a5   고영탁   설정 시스템 관리 기능 개발
15
16
17
      QPainter painter(this);
      painter.setBrush(Qt::NoBrush);
      painter.setPen(Qt::NoPen);
b3e47756e   김태훈   소스 파일 일괄 변경
18
      QRect textRect(0,0,86,48);
1f685a2a5   고영탁   설정 시스템 관리 기능 개발
19
20
21
22
23
24
25
26
27
28
29
30
  
      qreal percentage = (qreal) (val - min) / qMax(max - min, 1);
      percentage = qBound((qreal) 0.0, percentage, (qreal) 1.0);
  
      QRect targetRect(
                  (border.size().width() - body.size().width()) / 2 + textRect.width()/2,
                  (border.size().height() - body.size().height()) / 2 + indicator.size().height()+textRect.height(),
                  body.size().width() * percentage, body.height());
  
      QRect sourceRect(0, 0, body.size().width() * percentage, body.height());
      QFont font;
      font.setFamily("나눔맑은고딕");
b3e47756e   김태훈   소스 파일 일괄 변경
31
      font.setPixelSize(36);
1f685a2a5   고영탁   설정 시스템 관리 기능 개발
32
33
34
35
36
      painter.setFont(font);
      painter.setPen(Qt::white);
      painter.drawPixmap(targetRect, body, sourceRect);
      painter.drawPixmap(textRect.width()/ 2, textRect.height()+indicator.size().height(), border);
      painter.drawPixmap(targetRect.right() - indicator.size().width() / 2, textRect.height(), indicator);
b3e47756e   김태훈   소스 파일 일괄 변경
37
      textRect.setRect(targetRect.right() - textRect.size().width()/2, textRect.top(),86,48);
1f685a2a5   고영탁   설정 시스템 관리 기능 개발
38
39
      painter.drawText(textRect,Qt::AlignCenter, QString("%1%").arg(val));
  }