Skip to content

Home Администрирование Создание графического интерфейса
Создание графического интерфейса

Когда информированные люди перечисляют обязанности системного администратора, разработка программ с графическим интерфейсом пользователя (ГИП) обычно не входит в их число. Тем не менее, бывают моменты, когда администратору просто необходимо создать приложение с графическим интерфейсом или создание такого приложения сможет существенно облегчить ему жизнь. Здесь мы рассматриваем идею графического интерфейса в широком смысле, подразумевая как традиционные приложения - с графическим интерфейсом на базе таких библиотек, как GTK или Qt, так и приложения с веб-интерфейсом.

Здесь все наше внимание будет сосредоточено на использовании библиотек PyGTK, curses и веб-платформы Django. Для начала мы рассмотрим основы создания графического интерфейса, затем перейдем к исследованию очень простого приложения, использующего библиотеку PyGTK, а потом напишем то же самое приложение с использованием curses и Django. Наконец, разберем, как с помощью Django и небольшого объема программного кода можно написать приложение для работы с базой данных, имеющее привлекательный интерфейс.

Теория создания графического интерфейса

Когда создается консольная утилита, предполагается, что она будет вbinолнять все необходимые действия без вмешательства пользователя. Такое положение дел имеет место, когда сценарии запускаются с помощью таких планировщиков заданий, как cron и at. Но когда создается утилита с графическим интерфейсом, предполагается, что пользователь должен будет что-то вводить, чтобы эта утилита могла выполнить свою работу. Вспомните свой опыт работы с графическими приложениями, такими как веб-броузеры, клиенты электронной почты и текстовые процессоры. Вы запускаете приложение некоторым способом.

Приложение выполняет некоторые действия по инициализации, возможно, загружает какие-нибудь конфигурационные файлы и переводит себя в некоторое определенное состояние. Но после этого приложение просто ждет, пока пользователь сделает что-нибудь. Конечно, существуют примеры приложений, вbinолняющих некоторые действия самостоятельно, как, например, Firefox автоматически проверяет наличие обновлений без явного требования или согласия пользователя, но это уже другая история.

Чего ожидает приложение? Как оно узнает, что делать, когда пользователь предпримет какое-либо действие? Приложение ожидает, пока произойдет событие. Событие - это то, что происходит в пределах приложения с одним из визуальных элементов управления, например нажатие кнопки или выбор флажка. И приложение «знает», что делать, когда происходят такие события, потому что программист связывает определенные события с определенными фрагментами программного кода. «Фрагменты программного кода», связанные с определенными событиями, называют обработчиками событий. Одно из предназначений библиотек, на базе которых создается графический интерфейс, заключается в том, чтобы вызвать правильный обработчик события, когда происходит некоторое событие. Если быть более точным, библиотека графического интерфейса реализует «цикл событий», в пределах которого выполняется проверка поступления новых событий, и, когда события происходят, обрабатывает их соответствующим способом.

Поведение приложения управляется событиями. Когда вы пишете приложение с графическим интерфейсом, вы сами решаете, как приложение должно реагировать на те или иные действия пользователя. Вы создаете обработчики событий, которые будут вызываться библиотекой графического интерфейса при возбуждении событий пользователем.

Это описание соответствует приложениям, а как сформировать сам интерфейс? То есть как создавать кнопки, текстовые поля ввода, метки и флажки в приложении? Ответ на этот вопрос зависит от используемого инструментария. Графический интерфейс можно создать с помощью специальной программы-построителя графического интерфейса, входящей в состав выбранной вами библиотеки. Построитель графического интерфейса позволяет разместить в форме будущего приложения различные визуальные компоненты, такие как кнопки, метки, флажки и другие. Например, если вы работаете в операционной системе Mac OS X и выбрали в качестве основы библиотеку Cocoa, то для размещения графических компонентов можно воспользоваться программой Interface builder. Или, если вы выбрали PyGTK в Linux, можно воспользоваться программой Glade. Или, если вы выбрали PyQt, можно прибегнуть к помощи программы Qt Designer.

Построители графического интерфейса удобны в использовании, но иногда у вас может появиться желание иметь более полный контроль над графическим интерфейсом, чем может предложить программа-построитель. В таких случаях будет совсем несложно создать графический интерфейс «вручную», написав немного программного кода. В библиотеке PyGTK каждому типу графических элементов соответствует свой класс на языке Python. Например, окно - это объект класса gtk. Window. Кнопка - это объект класса gtk. button. Чтобы создать простое приложение с графическим интерфесом, которое имеет окно и кнопку, вы создаете экземпляры классов gtk.Window и gtk. button и добавляете кнопку в окно. Если необходимо, чтобы по щелчку на кнопке вbinолнялись некоторые действия, вы должны определить обработчик события «щелчка» на кнопке.

Комментарии (0)

RSS feed Comments

Написать комментарий

smaller | bigger

busy
 

Регистрация




Top