Установка и настройка PyQt5
Установить
Вы можете загрузить связанные с pyqt библиотеки прямо в настройках pycharm, в основном скачать sip, PyQt5, PyQt5-tools
настроить
Откройте PyCharm, откройте «Файл» -> «Настройки» -> «Внешние инструменты», щелкните знак «плюс», чтобы добавить свои собственные инструменты, и выполните следующую настройку:
- пьюическая конфигурация
Name:Pyuic
Group:Qt
Программа: D:\python\untitled1\venv\Scripts\python.exee (ваш собственный путь к Python)
Аргументы: -m PyQt5.uic.pyuic Имя файла Имя файлаИмя файла -o Имя файла без расширений Имя файлаБез расширенияИмя файлаБез расширения.py
Рабочий каталог: FileDirFileDirFileDir
Адрес после «Программы» — это адрес python.
2. Конфигурация QTdesigner
3.
Name:QtDesigner
Group:Qt
Programs:D:\python\untitled1\venv\Scripts\python.exe
Рабочий каталог: P r o j e c t File D i r ProjectFileDirProjectFileDir
Адрес после «Программы» — это адрес python.
Ошибка при поиске спецификации модуля для «PyQt5.uic.pyuic» (ModuleNotFoundError: нет модуля с именем «PyQt5») решение проблемы
Причина этой проблемы в том, что файл python.exe, который вы импортировали, не из вашего проекта.Эта проблема показывает, что вы используете pycharm, но импортированный вами python.exe находится в каталоге python.Вам нужно только добавить вышеуказанное в конфигурации pyuic измените адрес python.exe на pycharm в вашем файле.
(Если вы не можете найти его, просто выполните поиск непосредственно в папке)
построить пользовательский интерфейс
Первый открытый QTdesigner в pycharm
Вы можете создать свой интерфейс в QT, поиграть в него самостоятельно здесь.
Затем сохраните его в каталоге проекта и измените на имя .ui, после чего вы сможете увидеть его в pycharm.
Сгенерируйте программу .py и запустите
Создать программу .py
Щелкните правой кнопкой мыши только что созданную программу .ui и выберите pyuic.
Измените программу .py
Только что сгенерированная программа .py не генерирует оконную программу, нам все еще нужно внести изменения, вот простые изменения.
Исходный сгенерированный код выглядит следующим образом:
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.15.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(260, 220, 72, 15))
self.label.setObjectName("label")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 26))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.label.setText(_translate("MainWindow", "JHKJGJKGK"))
Измененная программа выглядит следующим образом:
import untitled # 需要运行的.py文件名
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(260, 220, 72, 15))
self.label.setObjectName("label")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 26))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.label.setText(_translate("MainWindow", "JHKJGJKGK"))
if __name__ == '__main__':
app = QApplication(sys.argv) # 创建应用程序
mainwindow = QMainWindow() # 创建主窗口
ui = untitled.Ui_MainWindow() # 调用中的主窗口
ui.setupUi(mainwindow) # 向主窗口添加控件
mainwindow.show() # 显示窗口
sys.exit(app.exec_()) # 程序执行循环
Главное добавить основную форму для его использования и отображения, а это всего лишь библиотека.