|
Cetus Group
Информационные системы и программное обеспечение
Меню
Поддержка
E-mail:
cetus@ukr.net
|
Разработка программного обеспечения средствами языка Python и библиотеки Qt (PyQt)
Размещено 23.12.2005 : Редакция 18.02.2006 : Обновления 30.06.2006
А.Г. © Часть 1 - "Создание приложения с использованием программы 'designer'"Написание простой программы с графическим интерфейсом пользователя средствами PyQt может быть выполнена следующим образом (пример выполнен в ОС Linux SuSE 10 с использованием библиотеки Qt версии 3). 1. Создаем новую форму с помощью программы "designer", которая входит в состав пакета инструментов библиотеки Qt и обычно находится в "/usr/lib/qt3/bin". Диалог выбора типа формы открывается сразу же после запуска "designer". Выбираем "Widget".
2. Добавляем на форму необходимые виджеты с помощью панели инструментов "Common Widgets" (расположена слева) или элемента меню Tools (расположен вверху). Имена и типы виджетов выводятся в панели "Objects" (расположена справа).
3. Добавляем реакцию на нажатие кнопки. Для этого на панели инструментов главного окна нажимаем кнопку "Connect Signal/Slot" (расположена справа вверху). Механизм "Signal/Slot" обеспечивает назначение обработчика ("Slot'а") некоторому событию ("Signal'у"). После нажатия кнопки "Connect Signal/Slot" подводим курсор мыши к кнопке "pushButton1" нашей формы, нажимаем левую кнопку мыши (в результате выделяется подсветкой виджет формы, который будет источником ("Signal'а") и не отпуская кнопки мыши тащим курсор на свободное поле основного виджета нашей формы "Form1" (он также при этом выделяется). Отпускаем кнопку мыши, при этом выводится диалог выполнения выбора "Signal'а" и "Slot'а". Таким образом, ответственным за обработку нажатия на кнопку "pushButton1" мы назначили класс "Form1".
4. Формируем необходимые соединения. В качестве сигнала выбираем нажатие кнопки, для создания слота нажимаем кнопку "Edit Slots".
5. Сохраняем результаты, например в файл "form1.ui" ("ui" - User Interface) и генерируем код Python с помощью команды: pyuic form1.ui > form1.py 6. Пишем главный модуль на Python, например в файл "main1.py" (обязательно соблюдая отступы от начала строки!!!): #!/usr/bin/python import sys from form1 import * app=QApplication(sys.argv) form=Form1() app.setMainWidget(form) form.show() app.exec_loop() 7. Устанавливаем для главного модуля право на выполнение. Выполняем. Обработчик нажатия на кнопку пока не работает (вернее, выдает на терминал сообщение: "Form1.newSlot(): Not implemented yet") - мы его еще не реализовали.
|