Интернет магазин китайских планшетных компьютеров



Компьютеры - PyQt - Дизайнер графического интерфейса пользователя

31 мая 2011


Оглавление:
1. PyQt
2. Обзор основных модулей
3. Дизайнер графического интерфейса пользователя
4. SIP
5. Особенности лицензирования
6. История
7. Применение



Создание простого веб-браузера перетаскиванием виджетов

Qt Designer является мощным кросс-платформенным компоновщиком макетов и форм графического интерфейса пользователя. Он позволяет быстро спроектировать виджеты и диалоги, используя экранные формы с использованием тех же виджетов, которые будут использоваться в приложении. Формы, созданные с Qt Designer являются полностью функциональными, и они могут быть просмотрены, чтобы можно было убедиться, что они будут выглядеть и вести себя точно так, как вы хотели.

Примеры программ

Программа Hello, world!

Стандартный минималистичный пример, дающий представление о PyQt. Программа показывает пустое окно, обладающее базовыми функциями — изменение размера, сворачивание, разворачивание:

#! /usr/bin/env python
# -*- coding: utf-8 -*-
#
import sys
from PyQt4.QtGui import *  # компоненты интерфейса
 
# Каждое приложение должно создать объект QApplication
# sys.argv - список аргументов командной строки
a = QApplication
 
# QWidget - базовый класс для всех объектов интерфейса
# пользователя; если использовать для виджета конструктор
# без родителя, такой виджет станет окном
w = QWidget
 
w.resize  # изменить размеры виджета
w.setWindowTitle  # установить заголовок
w.show  # отобразить окно на экране
 
sys.exit)  # запуск основного цикла приложения
Результат выполнения программы в Linux с KDE

Более сложный пример

В этом примере показаны принципы создания более серьёзных программ. Используется Python 3 и Qt Designer. Применяется объектно-ориентированный подход, позволяющий разделить визуальное представление и логику программы.

Состав программы:

  • test.pyw — главный файл, запускающий программу.
  • mainform.py — файл описания главного окна.
  • mainform.ui — файл, содержащий автоматически сгенерированное при помощи Qt Designer описание главного окна. В программе Qt Designer был создан проект, основанный на QDialog и выбраны 2 элемента: кнопка с именем pushButton, текстовая метка с именем label.

Содержание файла test.pyw:

#! /usr/bin/env python3
#
import sys
from PyQt4 import QtCore, QtGui  # подключает основные модули PyQt
import mainform  # подключает модуль описания формы
 
def main:
    app = QtGui.QApplication  # создаёт основной объект программы
    form = mainform.MainForm  # создаёт объект формы
    form.show  # даёт команду на отображение объекта формы и содержимого
    app.exec  # запускает приложение
 
if __name__ == "__main__":
    sys.exit)

Содержание файла mainform.py:

#! /usr/bin/env python3
#
from PyQt4 import QtCore, QtGui, uic  # подключает основные модули PyQt
 
# прототип главной формы
class MainForm:
 
    # конструктор
    def __init__:
        super.__init__
 
        # динамически загружает визуальное представление формы
        uic.loadUi
 
        # связывает событие нажатия на кнопку с методом
        self.connect"),
            self.setLabelText)
 
    def setLabelText:
        self.label.setText
Результат выполнения программы в Windows XP

В этом примере довольно простая функциональность, представленная методом setLabelText. Однако при необходимости реализовать более сложную обработку поступающих данных, целесообразно вынести эту обработку в отдельный модуль.



Просмотров: 7801


<<< Psi
QBittorrent >>>