pyqt6 + pycharm 搭建+使用入门

前言:

        最近要写代码给小白使用,但是让对方装python环境还要运行添加各种库,对小白太不友好了,所以选择了使用pyqt6+pycharm配合生成可视化python程序,在打包成exe执行。

环境搭建:

        首先安装PyQt6和PyQt6-tools。使用如下命令:

pip install PyQt6 PyQt6-tools

       但是运行后会报如下错误:

pyqt6 + pycharm 搭建+使用入门_第1张图片         这个时候按照提示执行命令升级pip即可

python.exe -m pip install --upgrade pip

        之后再执行安装即可:

pyqt6 + pycharm 搭建+使用入门_第2张图片

配置pycharm:

        打开pycharm,进入setting,到如下位置:

pyqt6 + pycharm 搭建+使用入门_第3张图片首先添加pyqt6-tools.exe到pycharm

Name:QtDesigner

Group:PYQT6

Program:D:\Program Files\python3.9\Scripts\pyqt6-tools.exe(自己安装的python路径)

Arguments:designer

Working directory:$FileDir$

pyqt6 + pycharm 搭建+使用入门_第4张图片

然后添加pyuic6.exe:

Name:Pyuic

Group:PYQT6

Program:D:\Program Files\python3.9\Scripts\pyuic6.exe(自己安装的python路径)

Arguments:$FileName$ -o $FileNameWithoutExtension$.py

Working directory:$FileDir$

 pyqt6 + pycharm 搭建+使用入门_第5张图片

 配置完成后,可以在界面看到:

pyqt6 + pycharm 搭建+使用入门_第6张图片

 项目使用:

        首先新建一个项目,然后再新建文件的任意位置右键再菜单中选择

 pyqt6 + pycharm 搭建+使用入门_第7张图片

这里有可能会报错:

pyqt6 + pycharm 搭建+使用入门_第8张图片

 这个时候就要手动添加designer.exe

Name:Py_Designer

Group:PYQT6

Program:E:\python3\Lib\site-packages\qt6_applications\Qt\bin\designer.exe(自己安装的designer.exe路径)

Working directory:$FileDir$

pyqt6 + pycharm 搭建+使用入门_第9张图片

然后运行刚添加的Py_Designer即可

然后进入QT Designer界面:

pyqt6 + pycharm 搭建+使用入门_第10张图片

可以随便选择,我这里选择的低四个Main Window

 我这里添加了两个编辑框和一个按钮

pyqt6 + pycharm 搭建+使用入门_第11张图片 保存后关闭界面可以看到文件夹中多出了untitled.ui文件,这个时候需要将ui文件转换为python文件,使用pyuic6.exe即可:

pyqt6 + pycharm 搭建+使用入门_第12张图片

 点击后在文件夹生成untitled.py,如下:

# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt6 UI code generator 6.4.2
#
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt6 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.textEdit = QtWidgets.QTextEdit(parent=self.centralwidget)
        self.textEdit.setGeometry(QtCore.QRect(100, 130, 471, 221))
        self.textEdit.setObjectName("textEdit")
        self.pushButton = QtWidgets.QPushButton(parent=self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(340, 90, 181, 23))
        self.pushButton.setObjectName("pushButton")
        self.textEdit_2 = QtWidgets.QTextEdit(parent=self.centralwidget)
        self.textEdit_2.setGeometry(QtCore.QRect(100, 80, 221, 31))
        self.textEdit_2.setObjectName("textEdit_2")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(parent=MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(parent=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", "确定"))

下面我们进入main函数初始化:

import sys
from PyQt6.QtWidgets import QApplication, QMainWindow
from PyQt6.uic.Compiler.qtproxies import QtWidgets

from untitled import Ui_MainWindow

class MyMainForm(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(MyMainForm, self).__init__()
        self.setupUi(self)

# Press the green button in the gutter to run the script.
if __name__ == '__main__':
    app = QApplication(sys.argv)
    myw = MyMainForm()
    myw.show()
    sys.exit(app.exec())

现在运行代码,可以看到已经能打开界面:

pyqt6 + pycharm 搭建+使用入门_第13张图片

 下面添加按钮事件,这里有些人喜欢在QT Designer中添加,但是我并不建议,因为这样不好分割而且有些时候会有兼容等问题,有些按钮不能使用,比如:

pyqt6 + pycharm 搭建+使用入门_第14张图片

编辑框未灰色,无法自定义事件,就不太友好了,所以建议代码直接添加,如下所示:

首先我们要添加一个按钮事件:

self.pushButton.clicked.connect(self.pushButton_click)

这里pushButton是我们添加的按钮ObjectName,然后添加pushButton_click函数即可,完整代码如下:

import sys
from PyQt6.QtWidgets import QApplication, QMainWindow
from PyQt6.uic.Compiler.qtproxies import QtWidgets

from untitled import Ui_MainWindow

class MyMainForm(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(MyMainForm, self).__init__()
        self.setupUi(self)
        ## 添加按钮事件
        self.pushButton.clicked.connect(self.pushButton_click)

    # textEdit是我们放上去的文本框的id
    def pushButton_click(self):
        tmp = self.textEdit_2.toPlainText()
        self.textEdit.setText( "输入内容为:"+ tmp )


# Press the green button in the gutter to run the script.
if __name__ == '__main__':
    app = QApplication(sys.argv)
    myw = MyMainForm()
    myw.show()
    sys.exit(app.exec())

运行可以看到:

pyqt6 + pycharm 搭建+使用入门_第15张图片

后续大家就可以自己写自己的功能了,开心的玩耍了~!

你可能感兴趣的:(安装配置,pycharm,ide,python)