自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(182)
  • 收藏
  • 关注

原创 python中使用缓存技术

需要注意的是,`functools.cache` 是在 Python 3.9 中引入的,如果您的 Python 版本较低,可能需要考虑其他缓存方案,比如使用 `functools.lru_cache`。还有就是这个示例中的"这对于那些在相同输入下计算结果相同的函数来说非常有用。在上面的示例中,`add函数使用了 `functools.cache` 装饰器,这意味着在第一次计算 add 的结果后,结果将被缓存,并在下一次调用 `fibonacci(n)` 时直接返回缓存的结果,而不必重新计算。

2024-05-28 15:32:06 566

原创 python设计模式--观察者模式

当主题对象状态发生变化时,调用 notify_observers() 方法通知所有注册的观察者对象,观察者对象接收到通知后调用 update() 方法进行更新操作。观察者模式是一种行为设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,当主题对象状态发生变化时,会通知所有观察者对象,使它们能够自动更新。2. **观察者(Observer)**:观察者对象监听主题对象的状态变化,并在主题对象状态发生变化时接收通知并做出相应的更新。# 主题对象状态变化,通知观察者。

2024-05-23 21:38:16 312

原创 PySide6 QStateMachine状态机的实现

将stop的addTransition改造一下。在PySide6中,状态机模块的使用与Qt中的类似,通过创建状态、添加状态到状态机、设置初始状态、建立状态转换等步骤来实现状态机的功能。PySide6的状态机模块提供了一种方便的方式来实现状态机模式,用于管理程序的状态和状态转换。通过使用这些类,开发者可以创建和管理程序的状态机,定义状态之间的转换条件,并在状态转换时执行相应的操作。总的来说,PySide6的状态机模块为开发者提供了一个强大而灵活的工具,帮助管理复杂程序的状态和行为,使程序更加清晰和易于维护。

2024-05-23 17:56:01 689

原创 c++中静态函数

注意,在静态方法中不能直接访问非静态成员变量和非静态方法,因为静态方法不属于任何对象实例。如果需要在静态方法中使用非静态成员,可以通过传递对象实例或使用静态变量等其他方式来实现。在上面的示例中,我们在`MyClass`类中定义了一个静态方法`myStaticMethod()`。该方法没有访问实例变量或实例方法的能力,只能访问静态成员变量和静态方法。在Qt中,可以通过在类中定义静态方法来添加静态方法。静态方法是类的一部分,但不需要实例化类对象就可以直接调用。// 静态方法的实现。

2024-05-18 22:01:01 137

原创 Qt用c++/python 分别绘制传输带

【代码】Qt用c++/python 分别绘制传输带。

2024-05-16 22:08:09 234

原创 Qt用c++/python 分别实现动态漏斗显示

【代码】Qt用c++/python 分别实现动态漏斗显示。

2024-05-16 16:32:54 520

原创 Qt用c++/python 分别实现动态水波纹效果

【代码】Qt用c++/python 分别实现动态水波纹效果。

2024-05-15 20:24:08 511

原创 Qt自定义QpushButton分别在c++/python中实现

【代码】Qt自定义QpushButton分别在c++/python中实现。

2024-05-15 14:58:05 260

原创 python第三方modbus_tk库实现RTU通讯

【代码】python第三方modbus_tk库实现RTU通讯。

2024-05-14 17:39:17 341 1

原创 QLineEdit里加入QPushButton分别在c++/python中实现

【代码】QLineEdit里加入QPushButton分别在c++/python中实现。

2024-05-14 11:27:05 271

原创 python设计模式---观察者模式

观察者模式是一种行为设计模式,用于定义对象之间的一对多依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都会得到通知并自动更新。

2024-05-13 23:09:22 179

原创 python设计模式---工厂模式

定义了一个抽象类Animal,并且让具体的动物类(Dog、Cat、Duck)继承自它,并实现了speak方法。然后创建了AnimalFactory工厂类,根据传入的参数来决定创建哪种动物的实例。

2024-05-13 23:04:08 321

原创 qt 和西门子smart200 S7通讯

【代码】qt 和西门子smart200 S7通讯。

2024-05-12 23:18:27 220

原创 python设计模式-策略模式

【代码】python设计模式-策略模式。

2024-05-12 19:09:16 282

原创 C++和Python 分别实现 QT modbusRtu读取写入数据

【代码】QT modbusRtu读取数据。

2024-05-10 20:48:54 479 2

原创 C++和python分别用Qt实现ModbusTcp通讯

python代码实现,有个问题暂时未解决。

2024-05-06 19:36:20 387 2

原创 smart200 做client,modbus_tcp读取modbus_slave

这里还隐藏一个重要的设置,就是站地址。不同plc位置会不一样,我这里是vb1651对应modbus的地址为255,这个值我们可以自己更改,范围为1-247.打开modbus_slave 软件,

2024-04-27 13:54:04 409

原创 python封装modbus-tcp协议,实现03,06,功能码

在写modbus协议时要注意每个功能码的格式要求是不一样的,返回的格式意义也不太一样。每个功能码发送报文和返回报文参考如下,可以按照格式自行实现功能。

2024-04-22 17:57:54 834

原创 python 给modbus tcp 写多个寄存器(16功能码)

【代码】python 给modbus tcp 写多个寄存器(16功能码)

2024-04-20 19:59:42 334

原创 python中用struct打包

格式字符串由格式字符和对应的数据类型组成。解包数据: 使用struct模块的unpack函数可以将字节流解包成指定格式的数据。unpack函数的第一个参数是格式字符串,用于指定解包的数据类型和字节顺序,第二个参数是要解包的字节流。打包数据: 使用struct模块的pack函数可以将数据打包成指定格式的字节流。pack函数的第一个参数是格式字符串,用于指定打包的数据类型和字节顺序,后面的参数是要打包的数据。struct模块提供了一些函数,用于将数据转换为特定的字节流格式,或者将字节流解析为特定的数据类型。

2024-04-19 20:21:19 419

原创 python使用socket模块实现TCP高并发任务

使用网络调试工具测试。同时开通3 个调试助手软件进行连接。

2024-04-19 16:23:09 406

原创 pyside6中Qobject内部定时器中遇到的问题及解决方案

Motors`类中的`run`方法逻辑存在一些问题,导致定时器两个都执行的原因是因为在`run`方法中,即使关闭了一个`timeId`,但是在下一次执行`run`方法时又会重新开启一个新的`timeId`,导致两个定时器都在运行。为了解决这个问题,可以在`run`方法中增加判断,只有当`timeId`不存在时才开启新的定时器。同时,在关闭定时器时,将`timeId`置为`None`,以确保只有一个定时器在运行。上面的定时器两个都会执行,停止不了。

2024-04-16 19:28:16 167

原创 pyqt实现星三角减压启动

它本来就是逻辑控制器,如果用代码实现它,该怎么做呢?这个实现起来看似简单,实则是有不少坑的(大神除外)。我一直想用类来封装,让它继承QObject,为啥非要继承QObject,而不集成python自己的object,因为在Qobject里有自己的定时器,这样就容易实现定时功能啦。开始我想把这个类都放在一个大定时器里或线程里,发现这个会不停地执行,如果要去处理,又有加入不少逻辑,看起来很不爽。解决方案是界面里放个定时器,它的功能就是监控状态,并对状态做出处理,如更新界面,对下位机做出处理。

2024-04-15 18:12:39 220 1

原创 pyqt写个星三角降压启动方式2

星三角降压启动用可以用类进行封装,就像博图FB块那样。把逻辑都在类里完成,和外界需要交互的暴露出接口。测试过程中,发现类中直接用定时器QTimer会出现问题。然后就把定时器放到外面了。

2024-04-13 23:04:39 603

原创 python写个星三角降压启动类模板,功能测试待续。。。。

【代码】python写个星三角降压启动类模板,功能测试待续。。。。

2024-04-12 22:54:39 437

原创 写个电机类,便于对字节流操作

param wbytes: output字节流 Q区 V区 M区 DB区。:param rbytes: iniput字节流 I区 V区 M区 DB区。:param isRun: pLC运行信号地址 I区。:param fault: PLC故障信号地址 I区。:param out: PLC输出地址 Q区。'''是否运行''''''是否故障'''

2024-04-12 15:06:40 403

原创 字节流转化处理

将字节转化为二进制字符串。#格式化输出,按字节八位显示。

2024-04-12 14:36:44 265

原创 python使用dataclass数据类有个坑

在这个代码中,因为使用了`dataclass`的默认值初始化方式,会导致所有`Motor`类的实例都共享相同的`InPut`类的实例,从而导致它们的`id`都是相同的。如果希望每个`Motor`实例拥有独立的`InPut`实例,可以通过在`Motor`类的`__post_init__`方法中为`input`属性赋予新的`InPut`实例来实现。通过在`Motor`类中定义`__post_init__`方法,可以确保每个`Motor`实例都有独立的`InPut`实例,从而使它们的`id`不再相同。

2024-04-11 22:58:12 221

原创 demo笔记

【代码】demo笔记。

2024-04-06 10:21:15 116

原创 pyside6/pyqt5/pyside2/pyqt6绘制图形

color = self.palette().color(QtGui.QPalette.Window) # 获取默认窗口背景,self.graphWidget.setBackground(color) 线条颜色、宽度和样式 PyQtGraph 中的线条是使用标准 Qt QPen 类型绘制的。可以使用标准的Qt线条样式,包括Qt.SolidLine、Qt.DashLine、Qt.DotLine、Qt.DashDotLine和Qt.DashDotDotLine。例如,以下示例创建一条 15px 宽的蓝色虚线。

2024-04-01 16:28:36 1327

原创 字节数组bytearray按位解析的另种方法。

这里就是利用这个思路来解析字节数组的,字节数组也是个对象。在这段代码中,首先创建了一个字节数组 `byt`,内容为 `b'\x00\x00\x7e\x0f'`,然后通过一系列位运算和逻辑运算,获取了字节数组中各个位的值,并将其转换为布尔类型。1. `byt = bytearray(b'\x00\x00\x7e\x0f')`:创建了一个长度为4的字节数组 `byt`,内容为十六进制 `00 00 7e 0f` 对应的字节串。例如,`one` 获取字节中第一个位的值,`two` 获取第二位的值,依次类推。

2024-04-01 10:05:25 349

原创 tkinter 制作计算器

【代码】tkinter 制作计算器。

2024-03-31 21:47:38 244

原创 tkinter开发笔记

【代码】tkinter开发笔记。

2024-03-31 20:14:29 302

原创 python面向对象

【代码】python面向对象。

2024-02-12 11:03:22 163

原创 pyside6 写个switch开关

【代码】pyside6 写个switch开关。

2023-12-28 19:33:52 590

原创 pyside6自定义水波纹控件

【代码】pyside6自定义水波纹控件。

2023-12-28 19:20:21 460

原创 pyside6实现图片旋转

【代码】pyside6实现图片旋转。

2023-12-25 19:29:15 536

原创 字节流操作

【代码】字节流操作。

2023-11-09 17:12:19 124

原创 pyside6上位机开发

【代码】pyside6上位机开发。

2023-10-30 17:17:00 237

原创 pyqt 布局篇

【代码】pyqt 布局篇。

2023-10-14 14:47:04 99

开发上位机,自定义绘制组件

最近本人一直在研究Pyqt开发上位机,上位机开发过程中经常要用的很多控件,这些控件UI工具本身不具有,这就需要我们自己重写绘制事件。python在继承和多态方面很强大。这就可以随意发挥,绘制我们需要的组件。我今天上传个按钮信号灯,改天上传pyqt和modbus_tcp通讯

2022-09-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除