Как установить pyqt5 на windows

Как установить pyqt5 на windows

Вы здесь

В интернете много туториолов как установить PyQt5 на свой компьютер, но все они из серии "лучше ничего, чем это".

Чтобы не оставалось вопросов, начнем установку PyQt5 с самого начала, то есть с установки и настройки самого питона, после этого станет понятно, как же установить этот графический редактор, чтобы все работало и версии программ самого питона и PyQt5 были совместимы.

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

Для этого в командной строке необходимо ввести python —version

Если по каким-то причинам ответа на данный запрос не пришло, но питон вы при этом устанавливали питон, то скорее всего у вас не установлены переменные среды.

Необходимо отметить, что для того, чтобы у вас работал PyQt, необходимо, чтобы у вас стоял питон версии 3.6, не выше! Версия 3.7 пока не поддерживается!

Версии ниже можно, но тогда новинки будут недоступны, Python 3.6 почти единственная версия, которая совмещает в себе новизну и полную работоспособность. Поэтому придется немного покопаться на сайте, чтобы найти именно версию 3.6.

Для этого нужно перейти по ссылке python.org/downloads и установить нужную версию.

Во время установки поставьте флажок на надписи установить переменную в Path.

Как установить переменную среды?

Нажать правой кнопкой мыши на "мой компьютер", в выпадающем окне выбрать "свойства". Потом выбрать "дополнительные параметры системы", а затем выбрать "переменные среды".

После этого, можно приступать к установке самого PyQt5.

Для этого снова придется заходить в командную строку и вписать pip install pyqt5 pyqt5-tools

Чтобы начать пользоваться графическим редактором, необходимо пройти в папку C:UsersUserAppDataLocalProgramsPythonPython36-32Libsite-packagespyqt5_tools

Я начинаю перевод серии уроков PyQt5 от zetcode.

PyQt5 — это набор Python библиотек для создания графического интерфейса на базе платформы Qt5 от компании Digia.

Он доступен для Python 2.x и 3.x. Этот учебник использует Python 3.

Библиотека Qt является одной из самых мощных библиотек GUI (графического интерфейса пользователя).

Установить PyQt5 на Windows можно с официального сайта библиотеки.

Установить PyQt5 на linux-системы можно с помощью любого менеджера пакетов:

PyQt5 реализован в виде набора python-модулей. Эта библиотека имеет более 620 классов и 6000 функций и методов.

Это мультиплатформенная библиотека, которая работает на всех основных операционных системах, в том числе Unix, Windows и Mac OS.

Простой пример

Это простой пример, показывающий небольшое окно. Тем не менее, мы можем многое сделать с этим окном. Мы можем изменить его размер, развернуть его или свернуть. Это требует написания значительного объёма кода. Однако кто-то уже запрограммировал эту функциональность до нас. Поскольку эта функциональность повторяется в большинстве приложений, нет необходимости писать её снова.

Читайте также:  Где находится судно в данный момент

PyQt5 является инструментом высокого уровня. Если бы мы писали это на более низком уровне, следующий пример кода легко мог бы растянуться на сотни строк:

Приведенный выше код показывает небольшое окно на экране.

Здесь мы делаем необходимые импорты. Основные виджеты расположены в PyQt5.QtWidgets.

Каждое приложение PyQt5 должно создать объект приложения (экземпляр QApplication). Параметр sys.argv это список аргументов командной строки. Скрипты Python можно запускать из командной строки. Это способ, которым мы можем контролировать запуск наших сценариев.

Виджет QWidget это базовый класс для всех объектов интерфейса пользователя в PyQt5. Мы предоставляем конструктор по умолчанию для QWidget. Конструктор по умолчанию не имеет родителя. Виджет без родителей называется окно.

Метод resize() изменяет размеры виджета. Он стал 250 пикселей в ширину и 150 в высоту.

Метод move() двигает виджет на экране на координату x=300, y=300.

Здесь мы задаём заголовок нашего окна.

Метод show() отображает виджет на экране. Виджет сначала создаётся в памяти, и только потом (с помощью метода show) показывается на экране.

Наконец, мы попадаем в основной цикл приложения. Обработка событий начинается с этой точки. Основной цикл получает события от оконной системы и распределяет их по виджетам приложения. Основной цикл заканчивается, если мы вызываем метод exit() или главный виджет уничтожен. Метод sys.exit() гарантирует чистый выход. Вы будете проинформированы, как завершилось приложение.

Метод exec_ () имеет подчеркивание. Это происходит потому, что exec является ключевым словом в python 2.

Значок приложения

Значок приложения — небольшое изображение, которое обычно отображается в верхнем левом углу заголовка. В следующем примере мы покажем, как сделать это в PyQt5. Мы также представим некоторые новые методы.

Не забудьте также скачать какую-нибудь иконку 🙂

Предыдущий пример был написан в процедурном стиле. Язык программирования Python поддерживает как процедурный, так и объектно-ориентированный стили программирования. Программирование в PyQt5 означает программирование в ООП.

Три важные вещи в объектно-ориентированном программировании это классы, данные и методы. Здесь мы создаем новый класс Example. Класс Example наследуется от класса QWidget. Это означает, что мы вызываем два конструктора: первый для класса Example и второй для родительского класса. Функция super() возвращает родительский объект Example с классом, и мы вызываем его конструктор.

Создание GUI делегируется методу initUI().

Все три метода были унаследованы от класса QWidget.

Метод setGeometry() делает две вещи: помещает окно на экране и устанавливает его размер. Первые два параметра х и у — это позиция окна. Третий — ширина, и четвертый — высота окна. На самом деле, он сочетает в себе методы resize() и move() в одном методе.

Читайте также:  Как снять правый воздуховод на ваз 2107

Последний метод устанавливает иконку приложения. Чтобы сделать это, мы создали объект QIcon. QIcon получает путь к нашей иконке для отображения.

Создаются объекты application и Example. Запускается основной цикл.

Подсказки

Мы можем предоставить всплывающую подсказку для любого из виджетов.

В этом примере мы покажем подсказку для двух виджетов PyQt5.

Этот статический метод устанавливает шрифт, используемый для отображения подсказки. Мы используем шрифт 10px SansSerif.

Чтобы создать всплывающую подсказку, мы вызываем метод setToolTip(). Мы можем использовать форматирование текста.

Мы создаем виджет кнопки и устанавливаем подсказку для него.

Меняем размер кнопки и перемещаем относительно окна. Метод sizeHint() дает рекомендуемый размер для кнопки.

Закрытие окна

Очевидный способ закрыть окно, это нажать на крестик. В следующем примере мы покажем, как мы можем программно закрыть наше окно. Мы кратко рассмотрим сигналы и слоты.

В этом примере, мы создаем кнопку выхода. После нажатия на кнопку, приложение завершается.

Мы создаем кнопку. Кнопка является экземпляром класса QPushButton. Первый параметр конструктора — название кнопки. Вторым параметром является родительский виджет. Родительский виджет является виджетом Example, который наследуется от QWidget.

Система обработки событий в PyQt5 построена на механизме сигналов и слотов. Если мы нажмем на кнопку, вызовется сигнал "нажатие". Слот может быть слот Qt или любая Python функция.

QCoreApplication содержит главный цикл обработки; он обрабатывает и диспетчеризирует все события. Метод instance() дает нам его текущий экземпляр.

Обратите внимание, что QCoreApplication создается с QApplication. Сигнал "нажатие" подключен к методу quit(), который завершает приложение. Коммуникация осуществляется между двумя объектами: отправителя и приемника. Отправитель кнопка, приемник — объект приложения.

Message Box

По умолчанию, если мы нажмем на крестик, QWidget закрывается. Иногда мы хотим изменить это поведение по умолчанию, например, если у нас есть открытый файл, в котором мы сделали некоторые изменения. Мы показываем окно с сообщением для подтверждения действия.

Если мы закрываем QWidget, генерируется QCloseEvent. Чтобы изменить поведение виджета, нам нужно переопределить обработчик события closeEvent().

Мы показываем окно с сообщением и с двумя кнопками: Yes и No. Первая строка отображается в заголовке окна. Вторая строка является текстовым сообщением и отображается в диалоговом окне. Третий аргумент определяет комбинацию кнопок, появляющихся в диалоге. Последний параметр — кнопка по умолчанию. Это кнопка, на которой изначально установлен фокус клавиатуры. Возвращаемое значение хранится в переменной reply.

Здесь мы проверяем возвращаемое значение. Если мы нажмем на кнопку Yes, мы принимаем событие, которое приводит к закрытию виджета и приложения. В противном случае мы будем игнорировать событие закрытия.

Центрирование окна на экране

Следующий скрипт показывает, как мы можем центрировать окно на рабочем столе.

Класс QtWidgets.QDesktopWidget предоставляет информацию о компьютере пользователя, в том числе о размерах экрана.

Читайте также:  Интервал страницы в ворде

Код, который будет центрировать окно, находится в нами созданном методе center().

Мы получаем прямоугольник, определяющий геометрию главного окна. Это включает в себя любые рамки окна.

Мы получаем разрешение экрана нашего монитора. И с этим разрешением, мы получаем центральную точку.

Наш прямоугольник уже имеет ширину и высоту. Теперь мы установили центр прямоугольника в центре экрана. Размер прямоугольника не изменяется.

Мы двигаем верхний левый угол окна приложения в верхний левый угол прямоугольника qr, таким образом, центрируя окно на нашем экране.

В этой части урока PyQt5 мы рассмотрели некоторые основы.

Python — это высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода, как говорит нам Википедия. А также активно используется для написания Web-приложений. Ну а для работы с Qt для Python была разработана компанией Riverbank Computing библиотека PyQt5, которая является набором "привязок" к библиотеке Qt5.

Из интереса, я решил написать небольшой Hello World с использованием PyQt5.

Установка

Первым делом устанавливаем Python, в моём случае это Python 3.5.2.

Для Windows можно скачать установочный пакет с официального сайта Python . Для Linux можем воспользоваться стандартным менеджером пакетов.

Далее необходимо установить PyQt5. В случае Linux можно либо установить с помощью стандартного менеджера пакетов. Например, для deb-based дистрибутивов:

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

Либо установить сначала утилиту pip для установки пакетов Python:

sudo apt-get install python-pip

И уже произвести установку с помощью данной утилиты, что будет аналогично как для Windows, так и для Linux систем:

pip install PyQt5

Для разработки на Python была выбрана IDE PyCharm.

Hello World

А теперь напишем небольшую программу на PyQt5, которая будет запускать окно приложения с надписью и иметь один пункт меню в панели меню. По клику на данный пункт будем закрывать приложение.

Полный текст программы

Отличия

1. if __name__ == "__main__":

В приложениях на Python часто можно встретить следующую конструкцию:

if __name__ == "__main__":

С помощью данной конструкции можно указать Python-скрипту, какой программный код исполнять в том случае, если он запускается как самостоятельное приложение. В случае же, если данный скрипт будет импортирован в другой скрипт, то программный код, который будет следовать за данной конструкцией, не будет вызван.

2. Синтаксис сигналов и слотов

В PyQt5 используется следующий синтаксис сигналов и слотов, который показан на примере использования QAction.

Тогда как в Qt C++ тоже самое выглядело бы следующим образом:

3. Python

Пожалуй, самое очевидное 😉
Здесь без комментариев.

Заключение

В результате получим программу следующего вида.

Рекомендуем хостинг TIMEWEB

Рекомендуемые статьи по этой тематике

Ссылка на основную публикацию
Как узнать характеристики ноута
Доброго дня. Я думаю, что многие при работе за компьютером или ноутбуком сталкивались с безобидным и простым вопросом: «как узнать...
Как удалиться из приложения фотострана
Социальная сеть «Фотострана» многим не нравится своей навязчивостью, что также проявляется, когда пользователь желает удалить свой аккаунт. В самой сети...
Как удалиться с сайта навечно
На сегодняшний день существует множество сайтов знакомств, и зачастую пользователи регистрируются на нескольких одновременно в поисках интересного общения, новых друзей...
Как узнать характеристики сетевой карты
Здравствуйте, друзья! Тема сегодня общая – я расскажу, как узнать, какая сетевая карта установлена в ваш компьютер. Это понадобится, если...
Adblock detector