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-адресах |