#include "printviewwindow.h" #include "ui_printviewwindow.h" PrintViewWindow::PrintViewWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::PrintViewWindow) { ui->setupUi(this); setWindowModality(Qt::ApplicationModal); m_startPoint = 0; m_printNumber = 0; m_filePath.clear(); m_addNewFileFlag = 0; m_view = NULL; //整数 QIntValidator *Validator = new QIntValidator(this); ui->lineEdit_start->setValidator(Validator); ui->lineEdit_number->setValidator(Validator); m_view = new MyGraphicsView(); connect(m_view,SIGNAL(siMouseMove(QPointF)),this,SLOT(slotShowPoint(QPointF))); } PrintViewWindow::~PrintViewWindow() { if(m_view != NULL) { delete m_view; m_view = NULL; } delete ui; } void PrintViewWindow::refreshLanguage() { ui->retranslateUi(this); } void PrintViewWindow::refreshShow(McFilesInfo &mcFilesInfo,int penWidth,int flag) { m_startPoint = 0; m_printNumber = 1; m_addNewFileFlag = flag; if(flag == 1) { ui->lineEdit_number->setText("1"); ui->lineEdit_start->setText("0"); } else { ui->lineEdit_number->setText(QString::number(mcFilesInfo.m_printNum)); ui->lineEdit_start->setText(QString::number(mcFilesInfo.m_startPoint)); } m_filePath = mcFilesInfo.m_filePath; m_length = (mcFilesInfo.m_fileRect.right() - mcFilesInfo.m_fileRect.left())/M_IDPMM; int width = (mcFilesInfo.m_fileRect.bottom() - mcFilesInfo.m_fileRect.top())/M_IDPMM; this->setWindowTitle(m_filePath+"("+QString::number(m_length)+"mm"+" * " + QString::number(width) + "mm)"); m_view->cleanView(); if(mcFilesInfo.m_fileType == TYPE_FILE) { mcFilesInfo.m_pic = m_view->getPictureByDat(mcFilesInfo.m_marker,penWidth); mcFilesInfo.m_drawPath = m_view->getDrawPath(); } else if(mcFilesInfo.m_fileType == TYPE_IMAGE) { mcFilesInfo.m_pic = m_view->getPictureByBmp(mcFilesInfo.m_pixmap); } //如果是最大化变为正常大小 if(this->windowState() == Qt::WindowMaximized) { this->setWindowState(Qt::WindowMinimized); this->showNormal(); } ui->horizontalLayout_view->addWidget(m_view); QMainWindow::show(); } void PrintViewWindow::setStartLineText(QString str) { ui->lineEdit_start->setText(str); } void PrintViewWindow::setNumberLineText(QString str) { ui->lineEdit_number->setText(str); } void PrintViewWindow::slotShowPoint(QPointF point) { ui->lineEdit_x->setText(QString::number((int)point.x())+"mm"); ui->lineEdit_y->setText(QString::number((int)point.y())+"mm"); } void PrintViewWindow::on_pushButton_draw_clicked() { m_startPoint = ui->lineEdit_start->text().toInt(); m_printNumber = ui->lineEdit_number->text().toInt(); if(m_printNumber > 255 || m_printNumber <= 0 || m_startPoint < 0 || m_startPoint >= m_length) { QMessageBox::warning(this, tr("Prompt"), tr("Unreasonable value input!"),//数值输入不合理 QMessageBox::Ok); return; } emit siAddNewFile(m_addNewFileFlag); this->close(); }