#include "overviewform.h" #include "ui_overviewform.h" #include <QSqlDatabase> #include <QSqlError> #include "QDateTimeEdit" #include <QSqlQuery> #include <QFrame> #include <mainwindow.h> #include <qDebug> #include <QMouseEvent> #include <QPainter> #include <QPixmap> static QSqlDatabase db; static QPixmap *m_showPixmap; static bool b_input; static QPoint m_lastPoint; OverViewForm::OverViewForm(QString username,QWidget *parent) : QWidget(parent), username(username), ui(new Ui::OverViewForm) { ui->setupUi(this); db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName(MainWindow::ip); db.setDatabaseName("brtyx"); db.setPort(3306); db.setUserName("root"); db.setPassword("123456"); bool ok = db.open(); if(ok){ QString str = QString::fromLocal8Bit("INSERT INTO operation (username, part, name, operation,operationtime) VALUES ('%1', '%2','%3', '%4','%5')") .arg(username) .arg(QString::fromLocal8Bit("运行总览")) .arg(QString::fromLocal8Bit("运行总览")) .arg(QString::fromLocal8Bit("查看详情")) .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")); QSqlQuery query(str); } m_showPixmap = new QPixmap(862,700); } void OverViewForm::mousePressEvent(QMouseEvent *event) { QRect eventRegion1(120,170,100,100); QRect eventRegion2(380,200,100,100); QRect eventRegion3(550,360,100,100); QRect eventRegion4(695,180,100,100); if( (event->button() == Qt::LeftButton) && b_input) { m_lastPoint = event->pos(); b_input=false; } else { if( eventRegion1.contains( event->pos())) { setSelectMode(1); } if( eventRegion2.contains( event->pos())) { setSelectMode(2); } if( eventRegion3.contains( event->pos())) { setSelectMode(3); } if( eventRegion4.contains( event->pos())) { setSelectMode(4); } } } void OverViewForm::setSelectMode(const int &modle) { QPainter painter(m_showPixmap); int i_selectModle = modle; QColor color_white(255, 255, 255); QPen textPen(color_white); painter.setPen(textPen); QFont normalFont("Microsoft Yahei", 11, 75); painter.setFont(normalFont); switch(i_selectModle) { case 1: painter.drawText(120, 170, QString::fromLocal8Bit("总进口温度: 37")); update(); break; case 2: painter.drawText(380, 200, QString::fromLocal8Bit("P3压力: 37")); update(); break; case 3: painter.drawText(550, 390, QString::fromLocal8Bit("BK260: 37")); update(); break; case 4: painter.drawText(695, 180, QString::fromLocal8Bit("总出口温度: 37")); update(); break; } } void OverViewForm::setPixmap(const QPixmap pixmap) { QPixmap m_pixmap = pixmap; resize(m_pixmap.size()); update(); } //绘制主窗口的大小 void OverViewForm::paintEvent(QPaintEvent *event ) { Q_UNUSED(event); QPainter painter(this); painter.drawPixmap(0,0,862,700,*m_showPixmap, 0,0,862,700); QPainter painter1(m_showPixmap); QString iconPath = ":/Images/overview" ; QPixmap img(iconPath); painter1.drawPixmap(0,0,862,700,img); } OverViewForm::~OverViewForm() { delete ui; }