QInputDialog — это стандартный диалоговый виджет Qt, который позволяет пользователю вводить значения в соответствующие поля ввода. Он может использоваться для запроса различных типов данных, таких как текст, числа, списки и т.д. В зависимости от типа данных QInputDialog может отображать соответствующий виджет для ввода данных.
Рассмотрим несколько примеров:
#include <QInputDialog>
bool ok;
int min=0, max=100, value = 0, step = 1;
int value_int = QInputDialog::getInt(nullptr, "Ввод числа", "Введите число:", value, min, max, step, &ok);

#include <QInputDialog>
bool ok;
QString text = QInputDialog::getText(nullptr, "Ввод текста", "Введите текст:", QLineEdit::Normal, QString(), &ok,Qt::WindowFlags() ,Qt::ImhNone);
if (ok && !text.isEmpty()) {
qDebug() << "Введенный текст: " << text;
}

#include <QInputDialog>
QStringList items;
items << QString("test1") << QString("test2") << QString("test3") << QString("test4");
int current = 0;
bool editable = false;
bool ok;
QString item = QInputDialog::getItem(nullptr, "Выбор из списка", "Выбор:", items, current, editable, &ok);
if (ok && !text.isEmpty()) {
qDebug() << "Выбор: " << item;
}

#include <QInputDialog>
double value = 0, minValue = -2147483647, maxValue = 2147483647;
int decimals = 2; bool ok;
double value_d = QInputDialog::getDouble(nullptr, "Ввод числа", "Введите число:", value, minValue, maxValue, decimals, &ok);
if (ok) {
qDebug() << "Введенное число: " << value_d;
}

EchoMode в Qt описывает режим отображения введенных символов в QLineEdit. В Qt представлены следующие значения для этого перечисления:
| EchoMode | Описание |
| QLineEdit::Normal | Все введенные символы отображаются в обычном режиме |
| QLineEdit::NoEcho | Вводимые символы не отображаются на экране, используется для ввода паролей |
| QLineEdit::Password | Все введенные символы заменяются на символы псевдографики, например, на звездочки или кружочки |
| QLineEdit::PasswordEchoOnEdit | Вводимые символы заменяются на символы псевдографики только при редактировании строки ввода |
InputMethodHint — перечисление значений для настройки метода ввода текста в Qt.
Некоторые из значений перечисления InputMethodHint:
| InputMethodHint | Описание |
| Qt::ImhNone | Не устанавливать никаких настроек ввода метода |
| Qt::ImhHiddenText | Скрыть вводимый текст. Это обычно используется для паролей |
| Qt::ImhNoAutoUppercase | Отключить автоматический перевод первого символа каждого слова в верхний регистр |
| Qt::ImhPreferNumbers | При вводе символов показывать клавиатуру с числами по умолчанию |
| Qt::ImhEmailCharactersOnly | Разрешить ввод только символов, допустимых в адресе электронной почты |
| Qt::ImhUrlCharactersOnly | Разрешить ввод только символов, допустимых в URL-адресах |
