How to install PyQt5 in PyCharm
PyQt5 is a toolkit for creating Python GUI applications. As a cross-platform toolkit, PyQt can run on all major operating systems (Unix, Windows (Mac).
This article describes how to install Python + PyCharm + PyQt5.
With PyQt5, the GUI is designed in two ways:
- directly using the code to design the interface
- using QtDesigner to visualize the design, and then convert the resulting .ui file into a .py file.
Install Python + PyCharm + PyQt5.
Step 1. Install Python.
Visit the official website at https://www.python.org/ to download and install your target Python version.
Install PyQt5
Enter the cmd interface. Run the command and wait a moment.
pip install pyqt5 pyqt5-tools
The command is executed and PyQt5 is installed.
Test if pqyt5 is actually installed
Create a new file, example.py, and enter the following code.
import sys from PyQt5 import QtWidgets, QtCore app = QtWidgets.QApplication(sys.argv) widget = QtWidgets.QWidget() widget.resize(400, 200) widget.setWindowTitle("This is PyQt Widget example") widget.show() exit(app.exec_())
After running, the following screen will pop up, indicating that PyQt is working normally.
3. Install PyCharm.
Visit the official website http://www.jetbrains.com/pycharm/
Choose download and install Community version.
PyCharm Basic Configuration.
Step 1 Create a new project
Step 2 Set the default PyCharm parser.
Select File | Settings | Project: first | Project Interpreter, set Project Interpreter to The version of python you are using

Step 3 Adding third-party libraries
Stay in the Project Interpreter interface, click on the +, find and install pyqt5. pyqt5-sip, pyqt5-tools. After successful installation, the interface should look like this.

Step 4 Configuring QtDesigner
Install designer
You can start designer directly from PyCharm. Make sure designer is installed first. Designer is not installed with the pip installation.
On Fedora Linux you can do this:
sudo dnf install qt5-designer
Ubuntu Linux users can do thiS:
sudo apt-get install qttools5-dev-tools
You can also do this:
pip install pyqt5-tools
Once qt5-designer is installed, you can configure it in PyCharm.
PyCharm select File | Settings | Tools | PyCharm. External Tools, click + New Tools, Create QTdesigner and PyUIC tools

Configure two key parameters.
-
Program: the path to your own designer .
-
Windows users can link to designer.exe , for example C:\\xxxx\AppData\Local\Programs\Python\Python35-32\\Lib\site-packages\pyqt5-tools\designer.exe
Step 5: Configure PyUIC

Configure three key parameters.
- Program: Your own python.exe path For example, C:\\xxxx\AppData\\Local\Programs\Python\Python35-32\python .
- Arguments: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
- Working directory: $ProjectFileDir$
Test PyQt installation
From code
Now that everything is setup, it’s time to test if everything is setup correctly.
Create a GUI interface using the code below (or any PyQt code).
from PyQt5 import QtWidgets # import PyQt5 widgets import sys # Create the application object app = QtWidgets.QApplication(sys.argv) # Create the form object first_window = QtWidgets.QWidget() # Set window size first_window.resize(400, 300) # Set the form title first_window.setWindowTitle("The first pyqt program") # Show form first_window.show() # Run the program sys.exit(app.exec())
Select Run->Run first. You should see a PyQt window popup.
QTDesigner
Use QTDesigner to generate a GUI interface and convert it to a .py file using PyUIC.

In the QT Designer interface, a GUI creation interface will pop up for the first time, click on create to automatically generate a GUI interface.

Save the interface as Untitled.ui file.

Back to the PyCharm project interface, there is an extra .ui file under the project list.
Right-click on Untitled.ui and select ExternalTools->PyUIC in the pop-up list.

This will generate a Untitled.py file for Untitled.ui.
Copyright (c) 2020 pythonpyqt.com
Copyright (c) 2020-2023
Правильная установка pyqt5
Здравствуйте.
Только начинаю изучать питон. Использую для этого PyCharm. Хочу создать графический интерфейс. Погуглив нашёл сразу несколько мануалов, но ни один из них не смог выполнить до конца. Понял, что мне нужен PyQt5. И вроде как установил его. Ну, по крайней мере при попытке выполнить команду sudo pip3 install pyqt5 я получаю в ответ Requirement already satisfied: pyqt5 in /usr/lib/python3/dist-packages (5.12.3)
Далее мануалы разнились (в общем-то, даже команда по установке разнилась), но вроде как мне надо установить графические инструменты с помощью команды pip3 install pyqt5-tools. Вот это уже не выходит. Could not find a version that satisfies the requirement pyqt5-tools (from versions: )
No matching distribution found for pyqt5-tools
В общем, я уже запутался с тем, что мне вообще надо, а что не надо, пожалуйста, скажите по шагово, что мне надо сделать, чтобы получить возможность работать с графическими интерфейсами.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Установка PyQt5
Здравствуйте. Я бы хотел узнать как установить PyQt5 в питон 3. Обыскал уже весь интернет и во всех.

Установка PyQt5
Не могу установить PyQt5. Скачал с официального сайта и запустил файл "configure.py". Появилось и.
Установка PyQT5 в виртуальное окружение (Debian)
Всем доброго времени суток! Создал виртуальное окружение с помощью virtualenv с Python3.4 и.
Все методы и атрибуты PyQt5.QtGui PyQt5.Qtwdigets и QtCore
На официальной документации модуля я не нашёл все методы и атрибуты PyQt5. может дадите источник со.
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
FaceHoof, первое, что Вам необходимо сделать:
— проверить правильность установки, это можно сделать с использованием следующих инструкций в IDLE (не терминале (не в интерактивном режиме) и не PyCharm)
>>> from PyQt5 import QtCore
>>>QtCore.PYQT_VERSION_STR
Здесь должен быть отражен номер версии пакета PyQt5
>>>QtCore.QT_VERSION_STR
Здесь версия QT
Добавлено через 4 минуты
Сообщение от FaceHoof 
Could not find a version that satisfies the requirement pyqt5-tools (from versions: )
No matching distribution found for pyqt5-tools
Скорее всего данное сообщение появляется из-за различий версий PyQt5, pyqt5-tools и Qt, точно не знаю.
Проще удалить PyQt5 командой:
pip3 uninstall pyqt5
И установить заново:
pip3 install pyqt5
Добавлено через 4 минуты
Сообщение от FaceHoof 
pip3 install pyqt5-tools
Далее pip3 install pyqt5-tools. Или действия аналогичные выше сказанному в случае возникновения проблем. Возможно потребуется обновить сам пакет pip командой python -m pip install —upgrade pip (или pip3)
Данная библиотека необходима так как в составе последних версий PyQt отсутствует «Дизайнерский пакет» QtDesigner.
Добавлено через 5 минут
Ну и экспериментируйте, читайте в Python это позволительно и удачи. Если что-то не получается или у Вас unix или mac, возможно, потребуются другие действия. Так же многое зависит от 32 или 64 битной версии python.
111 / 98 / 68
Регистрация: 21.04.2014
Сообщений: 1,391
Сообщение от AlexMarkov 
проверить правильность установки
Вроде получилось
Python 3.7.5 (default, Nov 20 2019, 09:21:52)
[GCC 9.2.1 20191008] on linux
Type «help», «copyright», «credits» or «license()» for more information.
>>> from PyQt5 import QtCore
>>> QtCore.PYQT_VERSION_STR
‘5.12.3’
>>> QtCore.QT_VERSION_STR
‘5.12.4’
А вот с удалением и установкой получилось нечто странное:
~$ pip3 uninstall pyqt5
Not uninstalling pyqt5 at /usr/lib/python3/dist-packages, outside environment /usr
Can’t uninstall ‘PyQt5’. No files were found to uninstall.
~$ pip3 install pyqt5
Requirement already satisfied: pyqt5 in /usr/lib/python3/dist-packages (5.12.3)
Т.е. его у меня как бы нет, но он как бы есть. Ничего не понял.
Сообщение от AlexMarkov 
Далее pip3 install pyqt5-tools
Попробовал всё равно, получил другой ответ (предварительно выполнил python3 -m pip install —upgrade pip):
$ pip3 install pyqt5-tools
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with ‘-m pip’ instead of running pip directly.
Defaulting to user installation because normal site-packages is not writeable
ERROR: Could not find a version that satisfies the requirement pyqt5-tools (from versions: none)
ERROR: No matching distribution found for pyqt5-tools
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
А через pip, а не pip3, установить, 3 — это версия python. Так не определить в чем проблема, у Вас mac или unix-подобная система. Только если разобраться самому или подождать .
Добавлено через 8 минут
команда pip3 list и pip list — вывод всех установленных приложений
Добавлено через 4 минуты
нужен ваш screen
111 / 98 / 68
Регистрация: 21.04.2014
Сообщений: 1,391
Сообщение от AlexMarkov 
А через pip, а не pip3
Попробовал
pip install pypt5-tools
Defaulting to user installation because normal site-packages is not writeable
ERROR: Could not find a version that satisfies the requirement pypt5-tools (from versions: none)
ERROR: No matching distribution found for pypt5-tools
Питон у меня 3.7.5, если это важно.
Сообщение от AlexMarkov 
у Вас mac или unix-подобная система
Ubuntu 19.10
Сообщение от AlexMarkov 
команда pip3 list и pip list — вывод всех установленных приложений
Список там приличный
Кликните здесь для просмотра всего текста
pip list
Package Version
———————- —————
apturl 0.5.2
asn1crypto 0.24.0
bcrypt 3.1.6
blinker 1.4
Brlapi 0.6.7
certifi 2018.8.24
chardet 3.0.4
chrome-gnome-shell 0.0.0
command-not-found 0.3
cryptography 2.6.1
cupshelpers 1.0
dbus-python 1.2.12
defer 1.0.6
distro 1.3.0
distro-info 0.21ubuntu4
duplicity 0.8.4
entrypoints 0.3
fasteners 0.12.0
future 0.16.0
httplib2 0.11.3
idna 2.6
keyring 18.0.1
keyrings.alt 3.1.1
language-selector 0.1
launchpadlib 1.10.7
lazr.restfulclient 0.14.2
lazr.uri 1.0.3
lockfile 0.12.2
louis 3.10.0
macaroonbakery 1.2.3
Mako 1.0.7
MarkupSafe 1.1.0
monotonic 1.5
netifaces 0.10.4
oauthlib 2.1.0
olefile 0.46
paramiko 2.6.0
pexpect 4.6.0
****ow 6.1.0
pip 20.0.1
protobuf 3.6.1
pycairo 1.16.2
pycrypto 2.6.1
pycups 1.9.73
PyGObject 3.34.0
PyJWT 1.7.0
pymacaroons 0.13.0
PyNaCl 1.3.0
PyQt5 5.12.3
PyQt5-sip 12.7.0
pyRFC3339 1.1
python-apt 1.9.0+ubuntu1.3
python-dateutil 2.7.3
python-debian 0.1.36
pytz 2019.2
pyxdg 0.25
PyYAML 5.1.2
reportlab 3.5.23
requests 2.21.0
requests-unixsocket 0.1.5
SecretStorage 2.3.1
setuptools 41.1.0
simplejson 3.16.0
sip 4.19.18
six 1.12.0
system-service 0.3
systemd-python 234
ubuntu-advantage-tools 19.5
ubuntu-drivers-common 0.0.0
ufw 0.36
unattended-upgrades 0.1
urllib3 1.24.1
usb-creator 0.3.7
wadllib 1.3.3
wheel 0.32.3
xkit 0.0.0
pip3 list
Package Version
———————- —————
apturl 0.5.2
asn1crypto 0.24.0
bcrypt 3.1.6
blinker 1.4
Brlapi 0.6.7
certifi 2018.8.24
chardet 3.0.4
chrome-gnome-shell 0.0.0
command-not-found 0.3
cryptography 2.6.1
cupshelpers 1.0
dbus-python 1.2.12
defer 1.0.6
distro 1.3.0
distro-info 0.21ubuntu4
duplicity 0.8.4
entrypoints 0.3
fasteners 0.12.0
future 0.16.0
httplib2 0.11.3
idna 2.6
keyring 18.0.1
keyrings.alt 3.1.1
language-selector 0.1
launchpadlib 1.10.7
lazr.restfulclient 0.14.2
lazr.uri 1.0.3
lockfile 0.12.2
louis 3.10.0
macaroonbakery 1.2.3
Mako 1.0.7
MarkupSafe 1.1.0
monotonic 1.5
netifaces 0.10.4
oauthlib 2.1.0
olefile 0.46
paramiko 2.6.0
pexpect 4.6.0
****ow 6.1.0
pip 20.0.1
protobuf 3.6.1
pycairo 1.16.2
pycrypto 2.6.1
pycups 1.9.73
PyGObject 3.34.0
PyJWT 1.7.0
pymacaroons 0.13.0
PyNaCl 1.3.0
PyQt5 5.12.3
PyQt5-sip 12.7.0
pyRFC3339 1.1
python-apt 1.9.0+ubuntu1.3
python-dateutil 2.7.3
python-debian 0.1.36
pytz 2019.2
pyxdg 0.25
PyYAML 5.1.2
reportlab 3.5.23
requests 2.21.0
requests-unixsocket 0.1.5
SecretStorage 2.3.1
setuptools 41.1.0
simplejson 3.16.0
sip 4.19.18
six 1.12.0
system-service 0.3
systemd-python 234
ubuntu-advantage-tools 19.5
ubuntu-drivers-common 0.0.0
ufw 0.36
unattended-upgrades 0.1
urllib3 1.24.1
usb-creator 0.3.7
wadllib 1.3.3
wheel 0.32.3
xkit 0.0.0
PyQt5: первые программы

Я начинаю перевод серии уроков PyQt5 от zetcode.
PyQt5 — это набор Python библиотек для создания графического интерфейса на базе платформы Qt5 от компании Digia.
Он доступен для Python 2.x и 3.x. Этот учебник использует Python 3.
Библиотека Qt является одной из самых мощных библиотек GUI (графического интерфейса пользователя).
Установить PyQt5 на Windows можно с официального сайта библиотеки.
Установить PyQt5 на linux-системы можно с помощью любого менеджера пакетов:
sudo apt-get install python3-pyqt5 pyqt5-dev-tools
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() в одном методе.
Последний метод устанавливает иконку приложения. Чтобы сделать это, мы создали объект QIcon. QIcon получает путь к нашей иконке для отображения.
Создаются объекты application и Example. Запускается основной цикл.
Подсказки
Мы можем предоставить всплывающую подсказку для любого из виджетов.
QWidget widget'QPushButton widget'В этом примере мы покажем подсказку для двух виджетов PyQt5.
Этот статический метод устанавливает шрифт, используемый для отображения подсказки. Мы используем шрифт 10px SansSerif.
QWidget widget'Чтобы создать всплывающую подсказку, мы вызываем метод setToolTip(). Мы можем использовать форматирование текста.
QPushButton widget'Мы создаем виджет кнопки и устанавливаем подсказку для него.
Меняем размер кнопки и перемещаем относительно окна. Метод 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 в комментарий заключайте его в теги
- Модуль csv - чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
PyQt5 5.15.10
Qt is set of cross-platform C++ libraries that implement high-level APIs for accessing many aspects of modern desktop and mobile systems. These include location and positioning services, multimedia, NFC and Bluetooth connectivity, a Chromium based web browser, as well as traditional UI development.
PyQt5 is a comprehensive set of Python bindings for Qt v5. It is implemented as more than 35 extension modules and enables Python to be used as an alternative application development language to C++ on all supported platforms including iOS and Android.
PyQt5 may also be embedded in C++ based applications to allow users of those applications to configure or enhance the functionality of those applications.
Author
PyQt5 is copyright (c) Riverbank Computing Limited. Its homepage is https://www.riverbankcomputing.com/software/pyqt/.
License
PyQt5 is released under the GPL v3 license and under a commercial license that allows for the development of proprietary applications.
Documentation
The documentation for the latest release can be found here.
Installation
The GPL version of PyQt5 can be installed from PyPI:
pip install PyQt5
pip will also build and install the bindings from the sdist package but Qt’s qmake tool must be on PATH .
The sip-install tool will also install the bindings from the sdist package but will allow you to configure many aspects of the installation.
