1、序言
之前在网上搜索关于python实现低功耗蓝牙(BLE)的案例,基本都是让安装pybluez等之类的工具,实测发现基本行不通,具体原因也不记得了,折腾了将近一个星期时间。这两天看Qt的QtBluetooth类可实现该功能:Qt Bluetooth 5.15.8,大致功能如下:
于是就试着用python实现一个BLE调试助手:
开发平台:win10
工具:python3.10.2+pycharm+pyqt5.15.6
2、软件安装
python安装
下载路径:Python Releases for Windows | Python.org
关于版本没有考虑太多,只知道3.8版本以后都支持pyqt5,我安装的是当时最新版本:3.10.2;安装方法网上教程很多,这里就不再赘述。
pyqt5安装
以管理员方式打开cmd窗口,依次输入以下安装命令:
pip install pyqt5
pip install pyqt5designer
我安装时候的版本是5.15.6,python3.10.6不需要安装pyqt5-tools。
pycharm安装
下载路径:Download PyCharm: Python IDE for Professional Developers by JetBrains
直接下载当前最新的即可,我安装时候的最新版本是:PyCharm 2021.3.2 (Community Edition)
安装方法网上教程也是很多,这里就不再赘述。
3、软件配置
打开pycharm,第一次打开会提示创建新工程:
打开设置界面:菜单File——>setting
找到上图位置,点击图中的“+”号,添加Qt设计师工具:
Name:根据自己喜好给Qt设计师命名
Program:填写pyqt5designer安装路径,我的安装路径是 C:\Program Files\Python310\Lib\site-packages\QtDesigner\designer.exe
Work directory:输入$ProjectDir$,表示工作路径为文件所在项目路径
继续添加pyqt5设计器的转换工具,用于将.ui文件转换为.py文件:
Name:根据自己喜好给转换工具命名
Program:填写python安装路径
Arguments:填写转换命令: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py,$FileName$表示不带路径的文件名,$FileNameWithoutExtension$表示不带扩展名的文件名
Work directory:输入$FileDir$,表示文件所在路径
到此软件安装、配置工作已经完成。
4、第一个pyqt5应用
新建完工程后的初始界面为:
打开Qt设计师:菜单Tools——>External tool——>Qt Designer:
创建一个新的界面:随便拖几个控件,保存即可(我这里保存的名字为test.ui)
将.ui转换为.py:
先选中要转换的.ui文件,再点击菜单Tools——>External tool——>ui2py:
在工程目录中就会多出一个.py文件(我这里是test.py) ,该文件中会自动产生一个类,我这里类名为:Ui_MainWindow
填写main.py代码:
import sys
from test import Ui_MainWindow
from PyQt5 import QtWidgets
class test_ui(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super(test_ui, self).__init__()
self.setupUi(self)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
the_ui = test_ui()
the_ui.show()
sys.exit(app.exec())
运行效果:
选中main.py,右键选择Run main即可: