Диалоговое окно ввода

   
На этом шаге рассмотрим стандартное диалоговое окно ввода.

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

   
Для отображения диалогового окна ввода класс QInputDialog предоставляет четыре статических метода:

  • getText() — для текста или пароля;
  • getInteger() — для ввода целых чисел;
  • getDouble() — для ввода чисел с плавающей точкой двойной точности;
  • getItem() — для выбора элемента из списка строк.

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

   
В методах getInteger() и getDouble() четвертым параметром передается значение для инициализации (по умолчанию равное нулю), а пятым и шестым — минимально возможное (по умолчанию ?2 147 483 647) и максимально возможное (по умолчанию 2 147 483 647) значения.

   
В методе getText() четвертый параметр управляет режимом ввода паролей, а пятым параметром передается текст для инициализации (по умолчанию это пустая строка).

   
В методе getItem() четвертым параметром передается список строк (QStringList), пятый параметр делает одну из переданных строк текущей (по умолчанию — первая строка), шестой параметр управляет режимом возможности редактирования строк (по умолчанию включен).

   
Два последних параметра у всех этих методов — аналогичные: это указатель на переменную булевого типа, информирующую о кнопке, нажатой при закрытии окна — OK или Cancel (Отмена), и флаги окна (см. шаг 18).

   
Например, отобразить диалоговое окно ввода текста (рис. 1) можно следующим образом:


Рис.1. Диалоговое окно ввода пароля

bool bOk;
QString str = QInputDialog::getText(0,
                                    "Пароль",
                                    "Введите пароль:",
                                    QLineEdit::Password,
                                    "qwerty",
                                    &bOk
                                    );
if (!bOk) {
// Была нажата кнопка Cancel 
}

   
Файлы приложения можно взять Предыдущий шаг
Содержание
Следующий шаг



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий