PyCharm环境基于PyQt5开发python上位机
目录
前言:
一、pycharm新建工程
1、打开 pycharm软件,新建工程
二、配置UI界面
1、新建UI界面
1)创建 Main Window
2)拖动控件到 MainWindow 中
3)设置信号与槽
4)ctrl+S 保存ui文件
2、将ui文件转化成py文件
三、修改python代码
1、新建 test1.py 文件
2、新建main.py代码
3、运行程序
四、生成exe可执行程序
问题及解决方法:
前言:
上篇文章已经介绍了如何搭建PyCharm环境,本文主要介绍怎么在PyCharm环境下进行python开发上位机。
一、pycharm新建工程
我用的python环境为python3.7
1、打开 pycharm软件,新建工程
pycharm新建工程,设置工程名project1
新建工程后,project1中自动生成了main.py(main.py为工具自动生成的例子),界面如下:
开发上位机主要依赖这3个工具
环境搭建参考链接:python开发上位机 – PyCharm环境搭建、安装PyQt5及工具-CSDN博客
二、配置UI界面
1、新建UI界面
点击 Tool -> External Tools -> Qt Designer,打开qt designer工具
1)创建 Main Window
左边是UI控件菜单,右边是属性
2)拖动控件到 MainWindow 中
我这里以 PushButton 控件为例
3)设置信号与槽
信号与槽(Signal & Slot)是 Qt 编程的基础
Edit ->编辑信号/槽 或 F4
选中控件往下拖,弹出设置界面
设置信号:左边选中 clicked();
设置槽:右边添加button1(),并选中;
如何设置添加槽?右边编辑设置,选中 "+" 添加槽,并设置名字为 button1()
点击OK,这样 PushButton 控件的信号与槽就设置好了,如下图:
4)ctrl+s 保存ui文件
保存好后关闭Qt Designer,回到 PyCharm,工程多了 button.ui
2、将ui文件转化成py文件
右键选中 button.ui -> External Tools -> PyUic,将ui文件转化成py文件。
生成 button.py 文件。可以看到 button.py 中有这样一行代码:
self.pushButton.clicked.connect(MainWindow.button1)
pushButton控件clicked信号(点击)连接槽为MainWindow.button1(),即:当点击pushButton控件时会执行 MainWindow.button1() 函数。
其他控件的信号与槽也是这样建立连接的,因此我们无需非得在ui界面设置,代码中可以直接调用 connect 函数将信号与槽函数建立连接。
三、编写python代码
先看下工程的文件结构
可以看到,由ui生成的py文件中类为 Ui_MainWindow,下面介绍怎么使用 button.py 文件
1、新建test1.py文件
代码如下:
from PyQt5.QtWidgets import QMainWindow
from button import Ui_MainWindow #导入button.py中的Ui_MainWindow类
class test_Windows(QMainWindow, Ui_MainWindow): #test_Windows父类为QMainWindow Ui_MainWindow
#定义窗口初始化函数
def __init__(self):
super(test_Windows, self).__init__() #调用test_Windows父类的__init__()
self.setupUi(self) #设置UI界面
#定义 PushButton 按键的槽函数(按下按键会打印"hello world.")
def button1(self):
print("hello world.")
2、新建main.py文件
添加入口点:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from test1 import test_Windows
if __name__ == '__main__':
app = QApplication(sys.argv) #application 对象
ui_main = test_Windows() #实例化qt designer创建的Ui_MainWindow类
ui_main.show() #显示
sys.exit(app.exec_()) #关闭UI执行
3、运行程序
按下 PushButton,打印 "hello world."
四、生成exe可执行程序
右键选中 main.py -> External Tools -> pyinstaller,等待生成 main.exe,如图:
windows执行main.exe。
问题及解决方法:
运行main.exe时出现错误弹框:"No module named 'PyQt5.sip'",表示windows没有"PyQt5.sip"模块。
这里需要注意2点:
(1) python安装了PyQt5.sip
这个肯定没问题,因为PyCharm中可以正常运行
(2) PyCharm和windows用的python环境一定要相同
可以看下PyCharm工程中的 site-packages 的路径,再看下windows环境变量是否添加了这个路径
添加环境变量后,问题解决。
作者:hinewcc