Spec-Zone.ru › Qt 5.15

Класс QInputDialog

Класс QInputDialog предоставляет простой диалог для получения одного значения от пользователя. Подробнее...

Заголовок: #include <QInputDialog>
qmake: QT += widgets
Наследуется от: QDialog
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Общие типы

Перечисление InputDialogOption { НетКнопок, ИспользоватьListViewДляЭлементовComboBox, ИспользоватьPlainTextEditДляТекстовогоВвода }
Флаги InputDialogOptions
Перечисление InputMode { ТекстовыйВвод, ВводЦелогоЧисла, ВводВещественногоЧисла }

Свойства

  • cancelButtonText : QString
  • comboBoxEditable : bool
  • comboBoxItems : QStringList
  • doubleDecimals : int
  • doubleMaximum : double
  • doubleMinimum : double
  • doubleStep : double
  • doubleValue : int
  • inputMode : InputMode
  • intMaximum : int
  • intMinimum : int
  • intStep : int
  • intValue : int
  • labelText : QString
  • okButtonText : QString
  • options : InputDialogOptions
  • textEchoMode : QLineEdit::EchoMode
  • textValue : QString

Общедоступные функции

QInputDialog(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
virtual ~QInputDialog()
QString cancelButtonText() const
QStringList comboBoxItems() const
int doubleDecimals() const
double doubleMaximum() const
double doubleMinimum() const
double doubleStep() const
double doubleValue() const
QInputDialog::InputMode inputMode() const
int intMaximum() const
int intMinimum() const
int intStep() const
int intValue() const
bool isComboBoxEditable() const
QString labelText() const
QString okButtonText() const
void open(QObject *receiver, const char *member)
QInputDialog::InputDialogOptions options() const
void setCancelButtonText(const QString &text)
void setComboBoxEditable(bool editable)
void setComboBoxItems(const QStringList &items)
void setDoubleDecimals(int decimals)
void setDoubleMaximum(double max)
void setDoubleMinimum(double min)
void setDoubleRange(double min, double max)
void setDoubleStep(double step)
void setDoubleValue(double value)
void setInputMode(QInputDialog::InputMode mode)
void setIntMaximum(int max)
void setIntMinimum(int min)
void setIntRange(int min, int max)
void setIntStep(int step)
void setIntValue(int value)
void setLabelText(const QString &text)
void setOkButtonText(const QString &text)
void setOption(QInputDialog::InputDialogOption option, bool on = true)
void setOptions(QInputDialog::InputDialogOptions options)
void setTextEchoMode(QLineEdit::EchoMode mode)
void setTextValue(const QString &text)
bool testOption(QInputDialog::InputDialogOption option) const
QLineEdit::EchoMode textEchoMode() const
QString textValue() const

Реализованные публичные функции

virtual void done(int result) override
virtual QSize minimumSizeHint() const override
virtual void setVisible(bool visible) override
virtual QSize sizeHint() const override

Сигналы

void doubleValueChanged(double value)
void doubleValueSelected(double value)
void intValueChanged(int value)
void intValueSelected(int value)
void textValueChanged(const QString &text)
void textValueSelected(const QString &text)

Статические публичные члены

double getDouble(QWidget *parent, const QString &title, const QString &label, double value = 0, double min = -2147483647, double max = 2147483647, int decimals = 1, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), double step = 1)
int getInt(QWidget *parent, const QString &title, const QString &label, int value = 0, int min = -2147483647, int max = 2147483647, int step = 1, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
QString getItem(QWidget *parent, const QString &title, const QString &label, const QStringList &items, int current = 0, bool editable = true, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), Qt::InputMethodHints inputMethodHints = Qt::ImhNone)
QString getMultiLineText(QWidget *parent, const QString &title, const QString &label, const QString &text = QString(), bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), Qt::InputMethodHints inputMethodHints = Qt::ImhNone)
QString getText(QWidget *parent, const QString &title, const QString &label, QLineEdit::EchoMode mode = QLineEdit::Normal, const QString &text = QString(), bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), Qt::InputMethodHints inputMethodHints = Qt::ImhNone)

Подробное описание

Значение ввода может быть строкой, числом или элементом из списка. Для пользователя должна быть установлена метка, указывающая, что нужно ввести.

Предоставляются пять статических удобных функций: getText(), getMultiLineText(), getInt(), getDouble() и getItem(). Все функции могут использоваться аналогичным образом, например:

    bool ok;
    QString text = QInputDialog::getText(this, tr("QInputDialog::getText()"),
                                         tr("User name:"), QLineEdit::Normal,
                                         QDir::home().dirName(), &ok);
    if (ok && !text.isEmpty())
        textLabel->setText(text);

Переменная ok устанавливается в true, если пользователь нажимает ОК; в противном случае — в false.

Input Dialogs

Пример стандартных диалоговых окон демонстрирует использование QInputDialog, а также других встроенных диалоговых окон Qt.

См. также QMessageBox и Пример стандартных диалоговых окон.

Документация по типам членов

перечисление QInputDialog::InputDialogOptionфлаги QInputDialog::InputDialogOptions

Это перечисление определяет различные параметры, влияющие на внешний вид диалогового окна ввода.

Константа Значение Описание
QInputDialog::NoButtons 0x00000001 Не отображать кнопки ОК и Отмена (полезно для «живых» диалоговых окон).
QInputDialog::UseListViewForComboBoxItems 0x00000002 Использовать QListView вместо нередактируемого QComboBox для отображения элементов, установленных с помощью setComboBoxItems().
QInputDialog::UsePlainTextEditForTextInput 0x00000004 Использовать QPlainTextEdit для ввода многострочного текста. Это значение было добавлено в 5.2.

Это перечисление было введено или изменено в Qt 4.5.

Тип InputDialogOptions является псевдонимом для QFlags<InputDialogOption>. Он хранит результат побитового ИЛИ комбинации значений InputDialogOption.

См. также options, setOption() и testOption().

перечисление QInputDialog::InputMode

Это перечисление описывает различные режимы ввода, которые могут быть выбраны для диалогового окна.

Константа Значение Описание
QInputDialog::TextInput 0 Используется для ввода текстовых строк.
QInputDialog::IntInput 1 Используется для ввода целых чисел.
QInputDialog::DoubleInput 2 Используется для ввода чисел с плавающей запятой с двойной точностью.

Это перечисление было введено или изменено в Qt 4.5.

См. также inputMode.

END_OF_DOCUMENT_MARKER ```

Документация свойств

cancelButtonText : QString

Это свойство содержит текст для кнопки отмены диалога.

Это свойство было добавлено в Qt 4.5.

Функции доступа:

QString cancelButtonText() const
void setCancelButtonText(const QString &text)

comboBoxEditable : bool

Это свойство указывает, является ли поле ввода комбобокса в диалоге редактируемым.

Это свойство было добавлено в Qt 4.5.

Функции доступа:

bool isComboBoxEditable() const
void setComboBoxEditable(bool editable)

comboBoxItems : QStringList

Это свойство содержит элементы, используемые в комбобоксе диалога ввода.

Это свойство было добавлено в Qt 4.5.

Функции доступа:

QStringList comboBoxItems() const
void setComboBoxItems(const QStringList &items)

doubleDecimals : int

устанавливает точность десятичного знака для поля ввода двойной точности

Это свойство было добавлено в Qt 4.5.

Функции доступа:

int doubleDecimals() const
void setDoubleDecimals(int decimals)

См. также QDoubleSpinBox::setDecimals().

doubleMaximum : double

Это свойство содержит максимальное значение с плавающей запятой двойной точности, принимаемое в качестве входных данных.

Это свойство актуально только при использовании диалога ввода в режиме DoubleInput.

Это свойство было добавлено в Qt 4.5.

Функции доступа:

double doubleMaximum() const
void setDoubleMaximum(double max)

doubleMinimum : double

Это свойство содержит минимальное значение с плавающей запятой двойной точности, принимаемое в качестве входных данных.

Это свойство актуально только при использовании диалога ввода в режиме DoubleInput.

Это свойство было добавлено в Qt 4.5.

Функции доступа:

double doubleMinimum() const
void setDoubleMinimum(double min)

doubleStep : double

Это свойство содержит шаг, с которым увеличивается и уменьшается значение с плавающей запятой двойной точности.

Это свойство актуально только при использовании диалога ввода в режиме DoubleInput.

Это свойство было добавлено в Qt 5.10.

Функции доступа:

double doubleStep() const
void setDoubleStep(double step)

doubleValue : int

Это свойство содержит текущее значение с плавающей запятой двойной точности, принимаемое в качестве входных данных.

Это свойство актуально только при использовании диалога ввода в режиме DoubleInput.

Это свойство было добавлено в Qt 4.5.

Функции доступа:

double doubleValue() const
void setDoubleValue(double value)

Сигнал уведомления:

void doubleValueChanged(double value)

inputMode : InputMode

Это свойство содержит режим ввода.

Это свойство помогает определить виджет, используемый для ввода данных в диалог.

Это свойство было добавлено в Qt 4.5.

Функции доступа:

QInputDialog::InputMode inputMode() const
void setInputMode(QInputDialog::InputMode mode)

intMaximum : int

Это свойство содержит максимальное целое значение, принимаемое в качестве входных данных.

Это свойство актуально только при использовании диалога ввода в режиме IntInput.

Это свойство было добавлено в Qt 4.5.

Функции доступа:

int intMaximum() const
void setIntMaximum(int max)

intMinimum : int

Это свойство содержит минимальное целое значение, принимаемое в качестве входных данных.

Это свойство актуально только при использовании диалога ввода в режиме IntInput.

Это свойство было добавлено в Qt 4.5.

Функции доступа:

int intMinimum() const
void setIntMinimum(int min)

intStep : int

Это свойство содержит шаг, с которым увеличивается и уменьшается целое значение.

Это свойство актуально только при использовании диалога ввода в режиме IntInput.

Это свойство было добавлено в Qt 4.5.

Функции доступа:

int intStep() const
void setIntStep(int step)

intValue : int

Это свойство содержит текущее целое значение, принимаемое в качестве входных данных.

Это свойство актуально только при использовании диалога ввода в режиме IntInput.

Это свойство было добавлено в Qt 4.5.

Функции доступа:

int intValue() const
void setIntValue(int value)

Сигнал уведомления:

void intValueChanged(int value)

labelText : QString

Это свойство содержит текст метки, описывающий то, что нужно ввести.

Это свойство было добавлено в Qt 4.5.

Функции доступа:

QString labelText() const
void setLabelText(const QString &text)

okButtonText : QString

Это свойство содержит текст кнопки подтверждения ввода в диалоге.

Это свойство было добавлено в Qt 4.5.

Функции доступа:

QString okButtonText() const
void setOkButtonText(const QString &text)

options : InputDialogOptions

Это свойство содержит различные параметры, которые влияют на внешний вид диалогового окна.

По умолчанию все параметры отключены.

Это свойство было добавлено в Qt 4.5.

Функции доступа:

QInputDialog::InputDialogOptions options() const
void setOptions(QInputDialog::InputDialogOptions options)

См. также setOption() и testOption().

textEchoMode : QLineEdit::EchoMode

Это свойство определяет режим отображения введённого текста.

Это свойство актуально только при использовании диалогового окна для ввода текста (TextInput).

Это свойство было добавлено в Qt 4.5.

Функции доступа:

QLineEdit::EchoMode textEchoMode() const
void setTextEchoMode(QLineEdit::EchoMode mode)

textValue : QString

Это свойство содержит значение текста для диалогового окна ввода.

Это свойство актуально только при использовании диалогового окна для ввода текста (TextInput).

Это свойство было добавлено в Qt 4.5.

Функции доступа:

QString textValue() const
void setTextValue(const QString &text)

Сигнал-уведомление:

void textValueChanged(const QString &text)

Документация по функциям-членам

QInputDialog::QInputDialog(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())

Создаёт новое диалоговое окно ввода с заданным parent и флагами окна flags.

Эта функция была добавлена в Qt 4.5.

[signal] void QInputDialog::doubleValueChanged(double value)

Этот сигнал генерируется при изменении значения double в диалоговом окне. Текущее значение задаётся параметром value.

Этот сигнал актуален только при использовании диалогового окна для ввода чисел с плавающей точкой (DoubleInput).

Примечание: Сигнал-уведомление для свойства doubleValue.

[signal] void QInputDialog::doubleValueSelected(double value)

Этот сигнал генерируется при выборе пользователем значения double при подтверждении диалогового окна (например, нажатием кнопки OK). Выбранное значение задаётся параметром value.

Этот сигнал актуален только при использовании диалогового окна для ввода чисел с плавающей точкой (DoubleInput).

[signal] void QInputDialog::intValueChanged(int value)

Этот сигнал генерируется при изменении целого значения в диалоговом окне. Текущее значение задаётся параметром value.

Этот сигнал актуален только при использовании диалогового окна для ввода целых чисел (IntInput).

Примечание: Сигнал-уведомление для свойства intValue.

[signal] void QInputDialog::intValueSelected(int value)

Этот сигнал генерируется при выборе пользователем целого значения при подтверждении диалогового окна (например, нажатием кнопки OK). Выбранное значение задаётся параметром value.

Этот сигнал актуален только при использовании диалогового окна для ввода целых чисел (IntInput).

[signal] void QInputDialog::textValueChanged(const QString &text)

Этот сигнал генерируется при изменении строки текста в диалоговом окне. Текущая строка задаётся параметром text.

Этот сигнал актуален только при использовании диалогового окна для ввода текста (TextInput).

Примечание: Сигнал-уведомление для свойства textValue.

[signal] void QInputDialog::textValueSelected(const QString &text)

Этот сигнал генерируется при выборе пользователем строки текста при подтверждении диалогового окна (например, нажатием кнопки OK). Выбранная строка задаётся параметром text.

Этот сигнал актуален только при использовании диалогового окна для ввода текста (TextInput).

[virtual] QInputDialog::~QInputDialog()

Удаляет диалоговое окно ввода.

Эта функция была добавлена в Qt 4.5.

[override virtual] void QInputDialog::done(int result)

Переопределяет: QDialog::done(int r).

Закрывает диалоговое окно и устанавливает его код результата в result. Если это диалоговое окно показано с помощью exec(), done() завершает локальный цикл событий и exec() возвращает result.

См. также QDialog::done().

[static] double QInputDialog::getDouble(QWidget *parent, const QString &title, const QString &label, double value = 0, double min = -2147483647, double max = 2147483647, int decimals = 1, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), double step = 1)

Статическая вспомогательная функция для получения числа с плавающей точкой от пользователя.

title — текст, отображаемый в строке заголовка диалогового окна. label — текст, отображаемый пользователю (он должен указывать, что требуется ввести). value — значение по умолчанию с плавающей точкой, которое будет установлено в поле редактирования. min и max — минимальное и максимальное значения, которые может выбрать пользователь. decimals — максимальное количество десятичных знаков в числе. step — величина изменения значений при нажатии кнопок стрелок для увеличения или уменьшения значения.

Если ok не равен null, *ok будет установлен в true, если пользователь нажал OK, и в false, если пользователь нажал Отмена. Родитель диалогового окна — parent. Диалоговое окно будет модальным и использовать флаги flags.

Функция возвращает число с плавающей точкой, введённое пользователем.

Используйте эту статическую функцию следующим образом:

    bool ok;
    double d = QInputDialog::getDouble(this, tr("QInputDialog::getDouble()"),
                                       tr("Amount:"), 37.56, -10000, 10000, 2, &ok,
                                       Qt::WindowFlags(), 1);
    if (ok)
        doubleLabel->setText(QString("$%1").arg(d));

См. также getText(), getInt(), getItem() и getMultiLineText().

[static] int QInputDialog::getInt(QWidget *parent, const QString &title, const QString &label, int value = 0, int min = -2147483647, int max = 2147483647, int step = 1, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())

Статическая вспомогательная функция для получения целого числа от пользователя.

title — текст, отображаемый в строке заголовка диалогового окна. label — текст, отображаемый пользователю (он должен указывать, что требуется ввести). value — целое значение по умолчанию, которое будет установлено в поле редактирования. min и max — минимальное и максимальное значения, которые может выбрать пользователь. step — величина изменения значений при нажатии кнопок стрелок для увеличения или уменьшения значения.

Если ok не равен null, *ok будет установлен в true, если пользователь нажал OK, и в false, если пользователь нажал Отмена. Родитель диалогового окна — parent. Диалоговое окно будет модальным и использовать флаги flags.

При успехе функция возвращает целое число, введённое пользователем; при ошибке возвращает начальное значение value.

Используйте эту статическую функцию следующим образом:

    bool ok;
    int i = QInputDialog::getInt(this, tr("QInputDialog::getInt()"),
                                 tr("Percentage:"), 25, 0, 100, 1, &ok);
    if (ok)
        integerLabel->setText(tr("%1%").arg(i));

Эта функция была добавлена в Qt 4.5.

См. также getText(), getDouble(), getItem() и getMultiLineText().

[static] QString QInputDialog::getItem(QWidget *parent, const QString &title, const QString &label, const QStringList &items, int current = 0, bool editable = true, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), Qt::InputMethodHints inputMethodHints = Qt::ImhNone)

Статическая вспомогательная функция для того, чтобы пользователь мог выбрать элемент из списка строк.

title — текст, отображаемый в строке заголовка диалогового окна. label — текст, отображаемый пользователю (он должен указывать, что требуется ввести). items — список строк, который вставляется в раскрывающийся список. current — номер элемента, который должен быть текущим. inputMethodHints — подсказки метода ввода, которые будут использоваться, если раскрывающийся список разрешает редактирование и активен метод ввода.

Если editable имеет значение true, пользователь может ввести свой собственный текст; в противном случае пользователь может выбрать только один из существующих элементов.

Если ok не равен null, *ok будет установлен в true, если пользователь нажал ОК, и в false, если пользователь нажал Отмена. Родительским элементом диалогового окна является parent. Диалоговое окно будет модальным и использует флаги виджета flags.

Эта функция возвращает текст текущего элемента или, если editable имеет значение true, текущий текст раскрывающегося списка.

Используйте эту статическую функцию следующим образом:

    QStringList items;
    items << tr("Spring") << tr("Summer") << tr("Fall") << tr("Winter");

    bool ok;
    QString item = QInputDialog::getItem(this, tr("QInputDialog::getItem()"),
                                         tr("Season:"), items, 0, false, &ok);
    if (ok && !item.isEmpty())
        itemLabel->setText(item);

См. также getText(), getInt(), getDouble() и getMultiLineText().

[static] QString QInputDialog::getMultiLineText(QWidget *parent, const QString &title, const QString &label, const QString &text = QString(), bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), Qt::InputMethodHints inputMethodHints = Qt::ImhNone)

Статическая вспомогательная функция для получения многострочной строки от пользователя.

title — текст, отображаемый в строке заголовка диалогового окна. label — текст, отображаемый пользователю (он должен указывать, что требуется ввести). text — текстовый шаблон, который помещается в поле редактирования. inputMethodHints — подсказки метода ввода, которые будут использоваться в поле редактирования, если активен метод ввода.

Если ok не равен null, *ok будет установлен в true, если пользователь нажал ОК, и в false, если пользователь нажал Отмена. Родительским элементом диалогового окна является parent. Диалоговое окно будет модальным и использует указанные флаги виджета flags.

Если диалог принят, эта функция возвращает текст в поле редактирования диалогового окна. Если диалог отклонен, возвращается null QString.

Используйте эту статическую функцию следующим образом:

    bool ok;
    QString text = QInputDialog::getMultiLineText(this, tr("QInputDialog::getMultiLineText()"),
                                                  tr("Address:"), "John Doe\nFreedom Street", &ok);
    if (ok && !text.isEmpty())
        multiLineTextLabel->setText(text);

Эта функция была добавлена в Qt 5.2.

См. также getInt(), getDouble(), getItem() и getText().

[static] QString QInputDialog::getText(QWidget *parent, const QString &title, const QString &label, QLineEdit::EchoMode mode = QLineEdit::Normal, const QString &text = QString(), bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), Qt::InputMethodHints inputMethodHints = Qt::ImhNone)

Статическая вспомогательная функция для получения строки от пользователя.

title — текст, отображаемый в строке заголовка диалогового окна. label — текст, отображаемый пользователю (он должен указывать, что требуется ввести). text — текстовый шаблон, который помещается в поле редактирования. mode — режим отображения символов в поле редактирования. inputMethodHints — подсказки метода ввода, которые будут использоваться в поле редактирования, если активен метод ввода.

Если ok не равен null, *ok будет установлен в true, если пользователь нажал ОК, и в false, если пользователь нажал Отмена. Родительским элементом диалогового окна является parent. Диалоговое окно будет модальным и использует указанные флаги виджета flags.

Если диалог принят, эта функция возвращает текст в поле редактирования диалогового окна. Если диалог отклонен, возвращается null QString.

Используйте эту статическую функцию следующим образом:

    bool ok;
    QString text = QInputDialog::getText(this, tr("QInputDialog::getText()"),
                                         tr("User name:"), QLineEdit::Normal,
                                         QDir::home().dirName(), &ok);
    if (ok && !text.isEmpty())
        textLabel->setText(text);

См. также getInt(), getDouble(), getItem() и getMultiLineText().

[override virtual] QSize QInputDialog::minimumSizeHint() const

Переопределяет: QDialog::minimumSizeHint() const.

void QInputDialog::open(QObject *receiver, const char *member)

Эта функция подключает один из своих сигналов к слоту, заданному параметрами receiver и member. Конкретный сигнал зависит от аргументов, указанных в member. Это:

  • textValueSelected() если member содержит QString в качестве первого аргумента.
  • intValueSelected() если member содержит целое число в качестве первого аргумента.
  • doubleValueSelected() если member содержит вещественное число в качестве первого аргумента.
  • accepted() если member не содержит аргументов.

Подключение сигнала к слоту отключается при закрытии диалогового окна.

Эта функция была добавлена в Qt 4.5.

void QInputDialog::setDoubleRange(double min, double max)

Устанавливает диапазон значений с двойной точностью, принимаемых диалоговым окном при использовании режима DoubleInput, с минимальным и максимальным значениями, заданными параметрами min и max соответственно.

void QInputDialog::setIntRange(int min, int max)

Устанавливает диапазон целых чисел, принимаемых диалоговым окном при использовании режима IntInput, с минимальным и максимальным значениями, заданными параметрами min и max соответственно.

void QInputDialog::setOption(QInputDialog::InputDialogOption option, bool on = true)

Устанавливает заданный параметр option в активное состояние, если on имеет значение true; в противном случае очищает заданный параметр.

См. также options и testOption().

[override virtual] void QInputDialog::setVisible(bool visible)

Переопределяет: QDialog::setVisible(bool visible).

[override virtual] QSize QInputDialog::sizeHint() const

Переопределяет: QDialog::sizeHint() const.

bool QInputDialog::testOption(QInputDialog::InputDialogOption option) const

Возвращает true если заданный параметр option включён; в противном случае возвращает false.

См. также options и setOption().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qinputdialog.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API