使用pycharm安装

新建一个PyCharm工程打开

在这里插入图片描述
打开的工程内容是这样的,但是内容并不重要。这里我们要使用设置功能
在这里插入图片描述
然后是这个
在这里插入图片描述

下载Pyqt5安装

然后点击新增包,选择pyqt5,点击install package
在这里插入图片描述
然后就成功啦,可以看到安装完毕后多了三个qt相关的包
在这里插入图片描述

下载安装Pyqt5-tools

然后我们再安装下qt的工具pyqt5-tools
在这里插入图片描述
安装成功后显示这些,可以看到出现了一堆工具和插件,基本就是这样的啦。这个工具比较大,据说会有人自动安装失败,我也是第二次安装才成功的。然而我还是成功了,这里mark一下别人失败的据说可以通过其他途径下载进来。
在这里插入图片描述

额外的下载qt-tools的方法

首先切换到项目的目录
也就是项目的venv/Scripts目录
在这个目录下执行:pip install pyqt5-tools -i https://mirrors.aliyun.com/pypi/simple/
执行完毕之后应该在上面的添加包的界面看到相同的插件和包列表

如果喜欢使用qtdesigner编辑界面的话,就看看这段吧

添加qt-designet到pycharm的插件

在setting的tools中找到External Tools,然后点击添加,你需要给插件取个名字,怎么取都可以,然后你需要选择执行文件的路径,也就是Program,一般你安装了pyqt5-tools之后,就会有designer.exe文件,如果不知道在哪,可以通过everything(一个小软件,不知道是啥就看下我的关于evething的文章)搜索出来,然后把路径配置进去。designer.exe工作路径,设置为$FileDir$
在这里插入图片描述

添加PyUIC

其实这个工具才是重头戏,上一个工具设置为插件无非是为了方便,而这个工具真的实现了把qtdesigner生成的ui文件转化为python了,如果不用这个的话,那python的很多界面,我们就需要自己去一点一点敲了,虽然我也比较享受自己敲,但是有时候确实工具还是更方便,视情况而定啦,反正喜欢拖UI的安装这个就没错啦。
在这里插入图片描述
和上面添加插件一样,只不过配置有点不一样了
program:pyuic5.exe的路径
arguments: $FileName$ -o $FileNameWithoutExtension$.py
working directory:$FileDir$

这样就算准备好了。

小试牛刀

试试我们的插件
在这里插入图片描述
我们熟悉的designer界面出来了。就使用默认的这个创建一个界面吧。
在这里插入图片描述
稍微修改了下
在这里插入图片描述
关闭界面之后,可以看到test.ui生成啦
在这里插入图片描述
试试pyuic吧
在这里插入图片描述
然后python文件就生成了
在这里插入图片描述
修改一下python
main.py

import sys
import test
from PyQt5.QtWidgets import QApplication, QMainWindow

# Press the green button in the gutter to run the script.
if __name__ == '__main__':
    app = QApplication(sys.argv)
    MainWindow = QMainWindow()
    ui = test.Ui_Dialog()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

test.py

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(400, 300)
        self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
        self.buttonBox.setGeometry(QtCore.QRect(20, 240, 341, 32))
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
        self.buttonBox.setCenterButtons(True)
        self.buttonBox.setObjectName("buttonBox")
        self.lineEdit = QtWidgets.QLineEdit(Dialog)
        self.lineEdit.setGeometry(QtCore.QRect(140, 120, 113, 20))
        self.lineEdit.setObjectName("lineEdit")

        # self.retranslateUi(Dialog)
        self.buttonBox.accepted.connect(self.accept)
        self.buttonBox.rejected.connect(self.reject)
        # QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))

    def accept(self):
        self.lineEdit.setText("ok clicked!")

    def reject(self):
        self.lineEdit.setText("cancel clicked!")

点击运行
在这里插入图片描述
界面可以使用啦
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐