Быстрый в изучении - мощный в программировании
Скрипт ИНВЕСТОР на Python

Попробуйте себя в качестве инвестора имея в помощники мощный алгоритм советника на Python...

Все уроки по PyQt5

PyQt5 реализован как комплект Python-модулей. Он включает в себя около 620 классов и 6000 функций и методов...

Скрипт отправки SMS через Python

Была задача отправить SMS-ки большому списку номеров телефона с уточнением цены за всю рассылку "До" ее отправки...

Введение в PyQt5 [Урок 1]

Введение в PyQt5 [Урок 1]

Это введение к руководству по PyQt5. Назначение этого руководства – дать вам представление об возможностях PyQt5.

Руководство было разработано и протестировано на Linux.

Про PyQt5

PyQt5 – это набор Python-связей для фреймворка Qt5 от Digia. Набор PyQt5 доступен для Python 2.x и 3.x. Это руководство рассматривает Python 3. Библиотека Qt – это одна из самых мощных GUI-библиотек. Официальный сайт PyQt5 - www.riverbankcomputing.co.uk/news. PyQt5 разработан компанией Riberbank Computing.

PyQt5 реализован как комплект Python-модулей. Он включает в себя около 620 классов и 6000 функций и методов. Это мульти-платформенный инструментарий, который запускается на большинстве операционных систем, среди которых Unix, Windows и MacOS. PyQt5 реализован под двумя лицензиями. Разработчики могут выбрать между GPL и коммерческой лицензией.

Установка PyQt5

Для пользователей Windows, скачать и установить:

- http://www.riverbankcomputing.com/software/pyqt/download5

Для пользователей Linux дистрибутивов (Ubuntu, Debian, LinuxMint...) прописать команду в терминал.

sudo apt-get install python3-pyqt5 pyqt5-dev-tools

Классы PyQt5 разделены на несколько модулей, включая следующие:

  • QtCore
  • QtGui
  • QtWidgets
  • QtMultimedia
  • QtBluetooth
  • QtNetwork
  • QtPositioning
  • Enginio
  • QtWebSockets
  • QtWebKit
  • QtWebKitWidgets
  • QtXml
  • QtSvg
  • QtSql
  • QtTest
- Модуль QtCore содержит ядро с неграфической функциональностью. Этот модуль используется для работы с временем, файлами, папками, различными типами файлов, потоками, адресами URL, MIME-типами и процессами.

- QtGui содержит классы для интеграции систем окон, обработки событий, 2D-графики, базовой обработки изображений, шрифтов и текста.

- Модуль QtWidgets содержит классы, которые обеспечивают набор UI-элементов для создания классических пользовательских интерфейсов.

- QtMultimedia содержит классы для управления мультимедиа-содержимым, а также API для доступа к камере или функциональности радио.

- Модуль QtBluetooth содержит классы для поиска устройств, соединения и взаимодействия с ними.

- Модуль QtNetwork содержит классы для сетевого программирования. Эти классы облегчают работу с клиентами и серверами TCP/IP и UDP, делая сетевое программирование более легким и адаптивным.

- QtPositioning содержит классы для определения местоположения с использованием всевозможных источников, таких как спутники, Wi-Fi или текстовые файлы.

- Модуль Enginio реализует клиентскую библиотеку для организации доступа к облачным сервисам Qt – Manaded Application Runtime.

- Модуль QtWebSockets содержит классы, которые реализуют протокол WebSocket.

- QtWebKit содержит классы для реализации веб-браузера, основанного на библиотеке WebKit2.

- Модуль QtWebKitWidgets содержит классы для WebKit1, основанные на реализации веб-браузера, для использования в приложениях, базирующихся на QtWidgets.

- QtXml содержит классы для работы с XML файлами. Этот модуль предоставляет реализацию сразу для двух API: SAX и DOM.

- Модуль QtSvg содержит классы для отображения содержимого SVG-файлов. Scalable Vector Graphics (SVG) – это язык для описания двумерной графики и графических приложений в XML.

- Модуль QtSql предоставляет классы для работы с базами данных.

- QtTest содержит функции, которые дают возможность модульного тестирования PyQt-приложений.

Различия PyQt4 и PyQt5

PyQt5 не имеет обратной совместимости с PyQt4; существует несколько значительных изменений в PyQt5. Тем не менее, не так сложно приспособить старый код к новой библиотеке. Среди прочих, существуют следующие различия:

  • Модули Python были реорганизованы. Некоторые модули были исключены (QtScript), другие были разделены на субмодули (QtGui, QtWebKit).
  • Новые модули представлены в виде QtBluetooth, QtPositioning или Enginio.
  • PyQt5 поддерживает только новый стиль обработки сигналов и слотов. Вызовы вида SIGNAL() или SLOT() больше не поддерживаются.
  • PyQt5 не поддерживает части Qt API, которые помечены как устаревшие в Qt v5.0.

Python

Python – объектно-ориентированный язык программирования общего назначения. Задумка языка Python придаёт особое значение продуктивности программиста и читабельности кода. Python первоначально был разработан Гвидо ван Россумом. Его первый релиз был в 1991 году. Python вдохновлён такими языками программирования, как ABC, Haskell, Java, Lisp, Icon и Perl. Python –это высокоуровневый интерпретируемый мультиплатформенный язык общего назначения. Это минималистичный язык.

Один из наиболее видимых особенностей – неиспользование точек с запяток и скобок. Взамен используются отступы. В настоящее время существует две главных ветви Python: Python 2.x и Python 3.x. Python 3.x прерывает обратную совместимость с предыдущими релизами Python. Это позволило исправить некоторые недостатки языка и сделать его более чистым. Самая последняя версия Python 2.x – 2.7.9, а Python 3.x – 3.4.2. Python поддерживается большой группой волонтёров со всего мира. Этот язык является программным обеспечением с открытым исходным кодом. Python – идеальный старт для тех, кто хочет изучать программирование.

Это руководство использует версию Python 3.x.

Язык программирования Python поддерживает несколько стилей программирования. Это не заставляет программиста следовать специфической парадигме. Python поддерживает объектно-ориентированное и процедурное программирование. Имеется также ограниченная поддержка функционального программирования. Официальный сайт языка программирования Python – python.org. Perl, Python и Ruby являются широко используемыми скриптовыми языками. Они разделяют множество сходств и являются близкими конкурентами.

Инструментарий Python

Для создания графического пользовательского интерфейса, программисты Python могут выбирать среди трёх достойных вариантов: PyQt4, PyGTK и wxPython.

Продолжение: Первые программы на PyQt5 [Урок 2]

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru yandex.ru
Комментариев: 2
  1. Недавно начал осваивать Python, захотелось установить PyQt5, хотя понимаю, что возможно рановато мне ещё, нужно как следует изучить сам язык. Но тем не менее, хотелось бы пока хоть научится устанавливать разный инструментарий. Так вот, на Windows поставить Python и PyQt5 оказалось просто, а вот на линукс и конкретно на Linux Mint никак не ставится PyQt5. В менеджере программ его нет, менеджер пакетов Synaptic выдаёт несколько десятков пакетов с названием PyQt5 и непонятно что из этого устанавливать. Я прбовал устанавливать все, но PyQt5 среди установленных прграмм так и не появился. Пробовал скачивать дистрибутив PyQt5 под линукс с оф.сайта в архиве tar.gz, распаковывал, собирал его, но при установке выдаёт кучу разных ошибок.

    На разных ресурсах совершенно противоречивые и взаимоисклучающие инструкции касательно этой темы и ни одна из них не работает - опять выдаёт ошибки при установке.

    Несколько раз сносил-переустанавливать свой линукс, прописывал в терминале вот это:

    sudo apt-get install python3-pyqt5 pyqt5-dev-tools

    что-то ставится, но куда? После этого PyQt5 опять не видно в установленных программах, невозможно запустить pyqt designer, как в виндовс так как его нигде нет.

    Может кто знает, что я делаю не так? И возможно ли в линукс запускать PyQt5 так же как и на виндовс, или же он тут запускается только из консоли какой-то командой? Может быть я его уже всё-таки установил и прсто не знаю как запустить?

  2. Общее правило: если пакет встал, но как-то непонятно, можно проверить, что и куда он расставил (в консоли):

    user:host% rpm -ql python3-pyqt5

    Это выйдет длинный список всех файлов, поставленных данным пакетом. Тут уже можно смотреть бинарники (` | grep bin`), мануалы (` | grep man`) и прочее (` | grep html` для документации в данном случае).

    А для питона в частности лучше посмотреть в модулях (опять же в консоли):

    user:host% python3

    >>> help()

    help> modules

    Если в вывалившемся списке есть PyQt5, то все в норме, можно работать. Если нет -- то согласно пункту первому проверяем, что он вообще предоставляет, этот пакет. Может, пару примеров и все...

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)