第二章 开发环境搭建:Python环境安装、PyQt5库安装、VS Code配置、第一个HMI窗口程序

好,咱们正式开始动手了。

这一章说白了就是「把家伙事儿备齐」。我见过太多新手,一上来就急着写代码,结果环境没配好,卡在安装报错上半天出不来。别急,咱们一步步来,把地基打牢。

2.1 Python环境安装

Python版本怎么选?我个人习惯用Python 3.9或3.10。为什么?因为PyQt5对这两个版本支持最稳定。我在项目中遇到过用Python 3.12装PyQt5报错的情况,折腾了半天才发现是版本兼容问题。

注意:别用Python 2.7,它已经退休了。也别用最新的Python 3.13,很多库还没跟上。

安装步骤很简单:

  1. 去Python官网下载安装包(python.org)
  2. 安装时记得勾选「Add Python to PATH」
  3. 一路Next,搞定

装完后验证一下。打开命令行(Win+R输入cmd),敲:

python --version

如果显示 Python 3.9.x3.10.x,说明装好了。

小技巧:我习惯用 python -V 来检查,少打几个字。你试试看。

2.2 PyQt5库安装

Python装好了,接下来装PyQt5。说白了就是一行命令的事:

pip install PyQt5

等等,别急着敲。先确认一下pip能不能用。敲:

pip --version

如果提示找不到pip,说明Python没加到环境变量里。重新装一遍,记得勾选那个选项。

安装PyQt5时,我建议用国内镜像源,速度快很多。我曾经在公司网络下直接装,等了十分钟还没动静……后来换成清华源,十几秒搞定。

pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple

装完后验证一下:

python -c "from PyQt5 import QtWidgets; print('OK')"

如果输出 OK,恭喜你,环境搭好了。

核心知识点:PyQt5是Python和Qt的桥梁。Qt是C++写的,PyQt5把它包装成了Python能调用的库。你写Python代码,底层跑的是C++,效率杠杠的。

2.3 VS Code配置

编辑器我推荐VS Code。轻量、免费、插件多。你非要用PyCharm也行,但咱们这个课程用VS Code演示。

安装VS Code后,需要装几个插件:

  • Python(微软官方那个)——语法高亮、智能提示
  • Pylance——代码补全更聪明
  • Qt for Python——PyQt5代码片段,省得你手敲

装好插件后,按 Ctrl+Shift+P,输入 Python: Select Interpreter,选你刚装的那个Python版本。

避坑指南:我曾经遇到过一个问题——VS Code里运行代码正常,但双击.py文件却报错。原因是VS Code用的Python解释器和系统默认的不一致。解决办法:在VS Code底部状态栏看一眼Python版本,确保和命令行里的一致。

2.4 第一个HMI窗口程序

好了,环境都齐了。咱们写第一个程序——一个空窗口。别小看它,这是所有HMI的起点。

新建一个文件,叫 first_hm.py,敲入以下代码:

import sys
from PyQt5.QtWidgets import QApplication, QWidget

app = QApplication(sys.argv)

window = QWidget()
window.setWindowTitle('我的第一个HMI窗口')
window.resize(800, 600)
window.show()

sys.exit(app.exec_())

运行一下(按F5或者点那个小三角)。如果看到一个800x600的空白窗口,标题是「我的第一个HMI窗口」,恭喜你——你已经迈出了HMI开发的第一步。

这段代码干了什么?我拆开讲讲:

  • QApplication——每个PyQt5程序都需要一个应用对象。它管理全局设置和事件循环。
  • QWidget——窗口组件。所有界面元素(按钮、文本框、图表)都是它的子类。
  • setWindowTitle——设置窗口标题。工业HMI里,这里通常会写「某某生产线监控系统」。
  • resize——设置窗口大小。工业触摸屏一般是1024x768或1920x1080。
  • show()——显示窗口。不调用这个,窗口是隐藏的。
  • app.exec_()——启动事件循环。说白了就是让程序一直跑着,等待用户操作。
重点理解:事件循环是GUI程序的灵魂。你点按钮、拖窗口、敲键盘,这些操作都会产生事件。事件循环就是不断监听这些事件,然后分发给对应的处理函数。没有它,程序一启动就结束了。

嗯,这里要注意一点:sys.argv 是命令行参数。如果你只是双击运行,它就是个空列表。但如果你从命令行传参数进来,比如 python first_hm.py --fullscreen,那就能在程序里拿到这些参数。工业现场经常用这种方式控制启动模式。

2.5 本章小结

这一章咱们干了三件事:装Python、装PyQt5、配VS Code。最后跑起来一个空窗口。

你想想看,这个空窗口虽然啥也没有,但它背后已经跑起了Qt的事件循环。接下来咱们要做的,就是往这个窗口里塞各种控件——按钮、标签、表格、图表……一步步搭出一个真正的工业HMI。

下一章,咱们开始画界面。我会教你用Qt Designer拖拽式设计,比手写代码快十倍。

课后练习:试着把窗口标题改成你公司的名字,或者改成「生产线监控系统V1.0」。再试试把窗口大小改成1024x768。运行看看效果。

公众号:蓝海资料掘金营,微信deep3321