/
MaximU
/
application
Обзор
Документация
Войти
/
MaximU
/
application
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
addressinputdialog.cpp
116 строк
2 KB
user
ui создается динамически.
22 июл 2026, 14:41
22 июл 2026, 14:41
2251cf8
Код
Авторство
О чём код?
#include "addressinputdialog.h" #include <QMessageBox> #include "ui_addressinputdialog.h" /*! * \brief Конструктор. * \param parent Родительский виджет. * \param title Заголовок окна. */ AddressInputDialog::AddressInputDialog(QWidget *parent, const QString &title) : QDialog(parent), ui(new Ui::AddressInputDialogClass) { ui->setupUi(this); setWindowFlag(Qt::CustomizeWindowHint); setWindowFlag(Qt::WindowSystemMenuHint, false); setWindowFlag(Qt::WindowCloseButtonHint, false); setFixedSize(size()); setWindowTitle(title); setEnabled(true); ui->lineeditPort->setEnabled(false); ui->lineeditAddress->setEnabled(false); mPortValidator = new QIntValidator(0, 65535, 0); } /*! * \brief Деструктор. */ AddressInputDialog::~AddressInputDialog() { delete mPortValidator; delete ui; } /*! * \brief Проверяет корректность номера порта. * \return Признак корректности номера порта. */ bool AddressInputDialog::checkInput() { QString portNumberString = ui->lineeditPort->text(); int pos = 0; return mPortValidator->validate(portNumberString, pos) == QValidator::Acceptable; } /*! * \brief Выполняется при нажатии кнопки Принять. */ void AddressInputDialog::on_buttonOk_clicked() { if (checkInput()) { accept(); } else { QMessageBox::warning(this, windowTitle(), tr("Заданы некорректные значения!"), QMessageBox::Ok); } } /*! * \brief Устанавливает номер порта. * \param port Номер порта. */ void AddressInputDialog::setPort(int port) { ui->lineeditPort->setEnabled(true); ui->lineeditPort->setText(QString::number(port)); } /*! * \brief Возвращает номер порта. * \return Номер порта. */ int AddressInputDialog::port() { bool ok; int port = ui->lineeditPort->text().toInt(&ok); if (ok) { return port; } return 0; } /*! * \brief Устанавливает строку адреса. * \param address Строка адреса. */ void AddressInputDialog::setAddress(const QString & address) { if (!address.isEmpty()) { ui->lineeditAddress->setEnabled(true); ui->lineeditAddress->setText(address); } } /*! * \brief Возвращает строку адреса. * \return Строка адреса. */ QString AddressInputDialog::address() { return ui->lineeditAddress->text(); }