На этом шаге рассмотрим стандартное диалоговое окно ввода.
Диалоговое окно ввода данных можно использовать для предоставления пользователю возможности ввода строки или числа. Это окно реализовано в классе 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 }
Файлы приложения можно взять Предыдущий шаг
Содержание
Следующий шаг