#include "QSetCenterDlg.h" #include "QMessageBox" #pragma execution_character_set("utf-8") QSetCenterDlg::QSetCenterDlg(QWidget *parent) : QDialog(parent) { ui.setupUi(this); setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint); connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(onButtonClicked())); connect(ui.pushButton_2, SIGNAL(clicked()), this, SLOT(onButtonClicked())); } QSetCenterDlg::~QSetCenterDlg() { } void QSetCenterDlg::setCenter(double x, double y) { ui.lineEdit->setText(QString("%1").arg(x)); ui.lineEdit_2->setText(QString("%1").arg(y)); } void QSetCenterDlg::getCenter(double &x, double &y) { x = ui.lineEdit->text().toDouble(); y = ui.lineEdit_2->text().toDouble(); } void QSetCenterDlg::setRange(QRect rect, QPointF imgSize) { m_ItemRect = rect; m_ImgSize = imgSize; } Q_SLOT void QSetCenterDlg::onButtonClicked() { QString strObj = sender()->objectName(); if (strObj == "pushButton") { double x = ui.lineEdit->text().toDouble(); double y = ui.lineEdit_2->text().toDouble(); if ((x + m_ItemRect.width() / 2) > m_ImgSize.x() || (x - m_ItemRect.width() / 2) < 0 || (y - m_ItemRect.height() / 2) < 0 || (y + m_ItemRect.height() / 2) > m_ImgSize.y()) { QMessageBox::warning(this, QObject::tr("警告"), QObject::tr("设置的圆心坐标导致整个ROI超出检测范围,不合法,请重新设置!!!")); return; } QDialog::accept(); } else if (strObj == "pushButton_2") { QDialog::reject(); } }