You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.4 KiB
C++

#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("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QObject::tr("<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ROI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
return;
}
QDialog::accept();
}
else if (strObj == "pushButton_2")
{
QDialog::reject();
}
}