Введение в PyQt5 [Урок 1]
Изучение PyQt5 PyQt, PyQt5, QtCore, QtGui, QtNetwork, QtSql, QtWebKit, QtWidgets, изучить PyQt5, примеры PyQt
Это введение к руководству по 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
- 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, захотелось установить 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 так же как и на виндовс, или же он тут запускается только из консоли какой-то командой? Может быть я его уже всё-таки установил и прсто не знаю как запустить?
Общее правило: если пакет встал, но как-то непонятно, можно проверить, что и куда он расставил (в консоли):
user:host% rpm -ql python3-pyqt5
Это выйдет длинный список всех файлов, поставленных данным пакетом. Тут уже можно смотреть бинарники (` | grep bin`), мануалы (` | grep man`) и прочее (` | grep html` для документации в данном случае).
А для питона в частности лучше посмотреть в модулях (опять же в консоли):
user:host% python3
>>> help()
help> modules
Если в вывалившемся списке есть PyQt5, то все в норме, можно работать. Если нет -- то согласно пункту первому проверяем, что он вообще предоставляет, этот пакет. Может, пару примеров и все...
To Leon |
переходите на Windows ! И ,да,будет вам щястя :-) !
PyQt5 - модуль(бібліотека) яку імпортуе python. В списку програм її видно не буде, а Qt designer - це окрема програма не залежна від PyQT.
и что мне это дало
Заполняю бд своими чарами