Python3.7成功安装心得PyQt5 PyQt5-tools QT designer.exe运行配置Pycharm 将.ui文件翻译成.py文件

标签: Python PyQt5

系统:win10 64位  win7 64位都有测试了下, python版本3.7.3 安装PyQt5个人操作步骤,包裹在不同操作系统上遇到的问题,综合的解决

第一步:在cmd窗口中,使用国内镜像

下载PyQt5:

pip install PyQt5 -i https://pypi.doubanio.com/simple

然后在下载PyQt5-tools:

pip install PyQt5-tools -i https://pypi.doubanio.com/simple

出现成功这个单词,就按照完毕

一般这个步骤都可以成功

第二步:然后开始尝试打开designer.exe

由于我个人python安装在E盘,进入这个文件夹

E:\python\Lib\site-packages\pyqt5_tools\Qt\bin

直接双击 designer.exe.我尝试了不同的电脑,即使操作系统相同,但是问题还是可能不同,不过大致都有解决办法

第一个问题,是双击后出现了弹窗

解决办法是,退到上一级文件夹

复制plugins这文件夹,再次进入bin文件,里面也有一个plugins文件夹,直接粘贴即可,选择替换覆盖确定

这个时候再次双击designer.exe就可以打开画面

如果为了求方便,我觉得可以把这个designer.exe发送快捷方式到桌面,方便进入

第三步:pycharm配置打开设计器

打开File-->Settings

我根据自己本地路径输入的地方就3个

Name:QTDesigner

Program:E:\python\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe    (大家自己的designer.exe路径)

Working directory:$ProjectFileDir$

然后在配置一下pyuic

同样的操作,在加号新建一个

Name:PyUIC

Program:E:\python\python.exe       (大家自己的python.exe路径)

Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py   

(太长的内容直接复制,大致意思就是把一个.ui文件翻译成.py文件,并且.py文件名字和.ui名字相同)

Working directory:$FileDir$

第4步:测试一下在图形界面下,是否可以编译成.py文件,我们最终的核心就是为了不去写窗口的排版而学习pyqt5

打开设计器

为了做测试,我随便选择一些按钮组件

左边的元素随意拖动到右边

然后保存一下,就会在项目下,生成一个.ui的文件

在pycharm项目文件预览窗口中

右键选择

就会生成untitled.py文件

打开这个文件,就已经把.ui文件生成为.py文件

到这里,就大功告成,     在这个过程中如果designer.exe缺少什么 dll文件,我们可以直接百度去下载对应的.dll文件就行,百度一查一大堆

第5步:运行一下刚才的界面代码,发送运行案例

# -*- 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.

import sys
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.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(80, 40, 75, 23))
        self.pushButton.setObjectName("pushButton")
        self.listView = QtWidgets.QListView(self.centralwidget)
        self.listView.setGeometry(QtCore.QRect(210, 40, 256, 192))
        self.listView.setObjectName("listView")
        self.radioButton = QtWidgets.QRadioButton(self.centralwidget)
        self.radioButton.setGeometry(QtCore.QRect(80, 120, 89, 16))
        self.radioButton.setObjectName("radioButton")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
        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.pushButton.setText(_translate("MainWindow", "PushButton"))
        self.radioButton.setText(_translate("MainWindow", "RadioButton"))


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    # 创建窗体对象
    MainWindow = QtWidgets.QMainWindow()
    # 创建Pyqt窗体对象
    pyui = Ui_MainWindow()
    pyui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

运行无错,基本设置完成

版权声明:本文为wjh52原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wjh52/article/details/109088691