Читаем Создание настольных Python приложений с графическим интерфейсом пользователя полностью

Здесь мы предоставляем три параметра: текстовое сообщение, заголовок сообщения и флаги. Флаги используются для отображения различных кнопок и значков.

В нашем случае мы показываем кнопку ОК и значок информации.

Создать диалоговое окно сообщения просто.

Мы устанавливаем диалог как окно верхнего уровня, указав None в качестве родителя.

Чтобы отобразить диалог на экране, мы вызываем метод ShowModal.

Чтобы создать диалоговое окно about, мы должны создать два объекта — wx.adv.AboutDialogInfo и wx.adv.AboutBox.

Для создания собственного диалога, мы должны создать класс, который наследует от виджета wx.Dialog.

Мы создаем экземпляр этого класса, а затем мы вызываем метод ShowModal.

Позже мы должны уничтожить наш диалог с помощью метода Destroy.



Теперь давайте пройдемся по виджетам библиотеки wxPython.

Button — это простой виджет, который содержит текстовую строку и используется для запуска действия.

В этом примере мы создаем кнопку «Закрыть», которая при нажатии завершает работу приложения.

В конструкторе виджета мы указываем метку для кнопки и позицию на панели.

Методом Bind мы связываем событие с методом, и событие запускается, когда мы нажимаем на кнопку.

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



Виджет ToggleButton — это кнопка, которая имеет два состояния: нажата и не нажата.

И вы переключаетесь между этими двумя состояниями, нажимая на кнопку.

В этом примере мы меняем цвет панели, нажимая на кнопку.

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

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

В этом методе мы устанавливаем цвет фона панели в зависимости от того нажата кнопка или нет.



Виджет StaticText отображает одну или несколько строк текста, доступного только для чтения.

Здесь мы создаем шрифт для текста.

И устанавливаем шрифт с помощью метода SetFont.

Виджет StaticLine отображает в окне простую строку, которая может использоваться как разделительная строка.



Виджет StaticBox используется для логической группировки различных виджетов.

И эти виджеты должны быть родственными, а не дочерними по отношению к статическому блоку.

Здесь включаемые виджеты регулируются размерами рамки статического блока.

Какая будет рамка, столько виджетов и поместится в блок.

Виджет ComboBox — это выпадающий список с кнопкой.

Когда вы нажимаете кнопку, появляется список.

И пользователь может выбрать только один вариант из предоставленного списка строк.

При создании виджета ComboBox, параметр choices принимает список строк, отображаемых в поле со списком.

Стиль READONLY делает строки списка доступными только для чтения.

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

К этому событию мы подключаем обработчик события OnSelect.



CheckBox — это виджет, который имеет два состояния: включен и выключен.

Здесь мы проверяем состояние виджета CheckBox с помощью метода GetValue.

И событие CHECKBOX запускается, когда мы щелкаем по виджету CheckBox.

При запуске этого события вызывается обработчик ShowOrHide.



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

Группа переключателей определяется тем, что первый переключатель в группе содержит стиль GROUP.

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

Объявление другой радиокнопки с флагом GROUP запустит новую группу радиокнопок.

Здесь у нас есть группа из двух переключателей.

И состояние каждого из переключателей отображается в строке состояния.

И мы привязываем событие RADIOBUTTON к обработчику события SetVal.

Также мы создаем статусбар с двумя полями.

В методе SetVal мы узнаем состояния переключателей.

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



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

В этом примере у нас есть датчик и кнопка, которая запускает датчик.

И мы используем Timer для выполнения кода через определенные промежутки времени.

В эти моменты мы обновляем шкалу датчика.

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

В конструкторе виджета Gauge, параметр диапазона устанавливает максимальное целочисленное значение виджета.

Когда мы нажимаем кнопку ОК, вызывается метод OnStart.

Здесь сначала мы проверяем, находится ли переменная count в диапазоне задачи.

Если нет, то возвращаемся из метода.

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

И метод OnTimer вызывается периодически после запуска таймера.

В этом методе мы обновляем переменную count и виджет датчика.

Если переменная count равна максимальному значению, мы останавливаем таймер.



Slider — это виджет с ползунком, который можно тянуть вперед и назад.

Таким образом, мы можем выбрать конкретное значение из диапазона.

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

Перейти на страницу:

Похожие книги

Основы информатики: Учебник для вузов
Основы информатики: Учебник для вузов

Учебник состоит из двух разделов: теоретического и практического. В теоретической части учебника изложены основы современной информатики как комплексной научно-технической дисциплины, включающей изучение структуры и общих свойств информации и информационных процессов, общих принципов построения вычислительных устройств, рассмотрены вопросы организации и функционирования информационно-вычислительных сетей, компьютерной безопасности, представлены ключевые понятия алгоритмизации и программирования, баз данных и СУБД. Для контроля полученных теоретических знаний предлагаются вопросы для самопроверки и тесты. Практическая часть освещает алгоритмы основных действий при работе с текстовым процессором Microsoft Word, табличным редактором Microsoft Excel, программой для создания презентаций Microsoft Power Point, программами-архиваторами и антивирусными программами. В качестве закрепления пройденного практического курса в конце каждого раздела предлагается выполнить самостоятельную работу.

Вадим Васильевич Лысенко , Лариса Александровна Малинина , Максим Анатольевич Беляев

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Цифровой журнал «Компьютерра» № 24
Цифровой журнал «Компьютерра» № 24

ОглавлениеБольшие новостиMicrosoft BizSpark: поиски инвесторов и менторов Автор: Григорий РудницкийNASA открыло виртуальную лунную базу Автор: Михаил КарповТерралабПромзона: Катушка с лупой Автор: Николай МаслухинPixel Qi: дисплеи, не слепнущие на солнце Автор: Юрий ИльинПромзона: Батарейки Microsoft Автор: Николай МаслухинСофт: Process Explorer — порнобаннер в прицеле Автор: Николай МаслухинSynaptics: тачпады нового поколения Автор: Олег НечайПромзона: Очки-суфлер Автор: Николай МаслухинМобильный интернет для малого бизнеса Автор: Максим БукинВещь дня: беззеркальная камера Lumix G2 Автор: Андрей ПисьменныйHDBaseT 1.0: дешёвая замена HDMI Автор: Олег НечайПромзона: Воздушный холодильник Автор: Николай МаслухинСофт: Настраиваем Ubuntu с помощью Ubuntu Tweak Автор: Крестников ЕвгенийПромзона: Бескрайний бассейн Автор: Николай МаслухинСпособы обмана в мобильных сетях Автор: Максим БукинСвоя играВасилий Щепетнёв: О пользе словаря Автор: Василий ЩепетневКивино гнездо: Человек против обмана Автор: Берд КивиMicrosoft: что пошло не так Автор: Андрей ПисьменныйКафедра Ваннаха: Скольжение к сингулярности Автор: Ваннах МихаилВасилий Щепетнёв: Гамбит Форт-Росс Автор: Василий ЩепетневКафедра Ваннаха: Облачное программирование и Пуэрто-Рико Автор: Ваннах МихаилВасилий Щепетнёв: Следы на целлулоиде Автор: Василий ЩепетневКивино гнездо: Конфликт криптографии и бюрократии Автор: Берд КивиИнтерактивЛюдмила Булавкина, директор YouDo по маркетингу, о любительском контенте Автор: Юрий ИльинМакс Зацепин и Глеб Никитин о музыкальной игре для iPad Автор: Юрий ИльинСергей Матиясевич (3D Bank) о рынке трёхмерных моделей Автор: Юрий ИльинВ. Репин (ИХБФМ СО РАН) о бактерии из вечной мерзлоты Автор: Алла АршиноваДмитрий Завалишин об операционной системе «Фантом» Автор: Андрей ПисьменныйБлогиАнатолий Вассерман: «Марс-500» Автор: Анатолий ВассерманКак большой оператор споткнулся о маленького SaaS-провайдера Автор: Анисимов КонстантинАнатолий Вассерман: Дальневосточные «партизаны» Автор: Анатолий ВассерманГолубятня-ОнлайнГолубятня: Сидр №4 Автор: Сергей ГолубицкийГолубятня: Бедность Автор: Сергей Голубицкий

Журнал «Компьютерра»

Зарубежная компьютерная, околокомпьютерная литература
Внедрение SAP R/3: Руководство для менеджеров и инженеров
Внедрение SAP R/3: Руководство для менеджеров и инженеров

Это практическое всеобъемлющие руководство было написано специально для тех, кто выбирает стратегию внедрения SAP в организации. «Внедрение SAP R/3: руководство для менеджеров и инженеров» объясняет, что означает понятие «эпоха ERP», почему информация является одним из ключевых ресурсов предприятия, как SAP способствует росту конкурентоспособности компании, а также преимущества методологии ASAP в планировании и использовании ресурсов при внедрении SAP. Подход к ERP-системам, используемый в данной книге, будет крайне полезен менеджерам и специалистам, которым необходимо представить высшему руководству своих компаний основания для внедрения SAP; кроме того, данная книга будет весьма полезной тем, кто занимается проектами SAP или планирует такой проект в ближайшем будущем. Для тех читателей, кто непосредственно занят в проектах SAP, эта книга станет надежным руководством и поможет внести существенный вклад в развитие проекта.

Вивек Кале

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT