一、安装Anaconda软件
二、安装PyCharm软件
三、安装PyQt5
Anaconda软件自带PyQt,但是安装不完整,开发时可能会遇到问题。因此,最好自己重新完整安装一遍。
1.打开Anaconda Prompt终端界面
2.安装pyqt5
输入以下命令安装:
pip install pyqt5
如果以上命令安装不成功的话使用镜像安装,执行命令:
pip install -i https://pypi.douban.com/simple pyqt5
3.安装pyqt5-tools
pip install -i https://pypi.douban.com/simple pyqt5-tools
四、PyQt5界面开发
PyQt5界面开发主要有两种方式:一种是通过编程的方式;另一种是通过UI设计工具的方式。我们选择后者。
1.首先打开UI设计工具designer
在Anaconda Prompt终端界面输入以下命令打开:
designer
打开后界面 如图所示:
选择Main Window然后点击创建,结果如下图所示:
左侧为PyQt的各种控件,如按钮,进度条,显示界面等。鼠标选中控件左键按住不放拖动到Main Window中即可。这里我们设计一个简单的界面,用户输入内容,点击打印按钮在下方显示用户输入的内容,如下图所示。
完成界面设计后还需要绑定按键触发事件的槽函数,即当按键按下后执行的程序函数名。如下图所示,(1)点击编辑槽函数按钮进入槽函数编辑模式。(2)鼠标选中打印按钮按住左键不放往上拖动然后松开会弹出配置连接窗口。(3)左侧栏选中触发型号clicked(),点击右侧的编辑选项弹出信号槽窗口。(4)点击加号按钮输入myprint(),然后点击OK即可。这里myprint()就是我们在接下来要实现的按钮点击事件的槽函数。
保存到自己新建的工程文件夹中,命名为ui,生成一个ui.ui文件。
然后开始配置PyCharm:
打开PyCharm新建一个工程,目录选择我们自己新建的工程目录。建好工程后依次点击File -> settings -> Tools -> External Tools,然后点击+号,如下图所示。
Name填QtDesigner。Program选择自己的designer.exe所在路径。Working directory填$FileDir$。然后点确定。
再点+号,类似的,Name填pyuic5。Program选择自己的pyuic5.exe所在路径。Parameters填$FileName$ -o $FileNameWithoutExtension$.py。Working directory填$FileDir$。然后点确定。
再点+号,Name填pyrcc5。Program选择自己的pyrcc5.exe所在路径。Parameters填$FileName$ -o $FileNameWithoutExtension$_rc.py。Working directory填$FileDir$。然后点确定。
至此,已完成PyCharm的配置。
接下来由刚才保存的ui.ui文件生成ui.py文件。如下图所示,鼠标选中ui.ui文件点击右键,然后选择External Tools -> pyuic5,即可生成ui.py文件。
最后,我们新建一个main.py文件,在里面编写槽函数myprint()的具体实现。代码如下所示:
# -*- coding: utf-8 -*-
from ui import Ui_MainWindow # 导入UI
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QGridLayout, QMessageBox
# 槽函数
class myMainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(myMainWindow, self).__init__(parent)
self.setupUi(self)
def myprint(self):
self.textBrowser.setText(self.lineEdit.text())
if __name__ == '__main__':
app = QApplication(sys.argv)
ui = myMainWindow()
ui.show()
sys.exit(app.exec_())
运行main.py文件,最终效果如下图所示:
五、生成.exe可执行程序
1.安装pyinstaller
2.安装pywin32
3.在Anaconda Prompt终端界面进入到新建的工程目录下,执行以下命令即可生成.exe文件,位于dist文件夹下。
pyinstaller -F main.py -w
如果出提示错误:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 130: invalid continuation byte,则是编码格式的问题。
解决办法:先在Anaconda Prompt终端界面输入chcp 65001命令,再执行 pyinstaller -F main.py -w命令