自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (4)
  • 收藏
  • 关注

原创 PySide6和PyQt5的show()不仅仅是展示这么简单

可以看到,成功获取了window1.frame的背景颜色,但是并没有输出预设的#00007f,而是输出了一个QFrame的默认预置色#f0f0f0。这一句就已经把window1的所有部件进行初始化和赋值了,show()语句仅仅是显示出来,然而并不是,show()语句执行的操作远比想象中多。方法是:将获取背景色的语句放在show()语句之后。这是一段很典型的代码,在一个画面中放置一个QFrame,并将其背景色设置为#00007f。我用了十几个小时查资料和做实验才解决了问题。测试PyQt5,运行结果相同。

2024-04-14 00:34:12 44

原创 pyside6自定义部件库和软件框架的建设记录

pyside6自定义部件库和软件框架的建设记录

2024-04-11 23:19:06 235

原创 pyside6的QSpinBox自定义特性初步研究(二)

pyside6的QSpinBox自定义特性初步研究

2024-04-10 00:26:30 751

原创 pyside6的QSpinBox自定义特性初步研究(一)

pyside6的QSpinBox自定义特性初步研究

2024-04-09 23:47:02 108

原创 pyside6,“提升为”的部件使用困惑

pyside6,“提升为”的部件使用困惑

2024-04-08 00:12:51 180

原创 python的time模块中几个关于时间的方法

它的输入参数为两个,第一个参数是一个表示时间的字符串,第二个参数是一个表示时间格式的字符串。的返回值是一个跨平台的、标准化的时间格式,可以直接用于时间戳的计算和比较。代表日期(例如:14),在下面的表格中你会看到其他常用的特殊字符。是Python中的一个函数,用于将时间戳(以秒为单位)转换为本地时间的时间元组。返回的时间元组包含了年、月、日、小时、分钟、秒、星期、一年中的第几天以及是否为夏令时等信息。表示是否为夏令时(0表示不是,1表示是,-1表示不确定)。,表示要转换的时间戳,默认为当前时间。

2023-12-14 21:17:16 146

原创 pyqt5的组合式部件制作(四)

对组合式部件的制作又改进了一版,组合式部件的子部件不再需要单独“提升为”,如果在模板文件的提升部件窗口内选择了“全局包含”,那么只需要在模板文件和应用文件中直接复制粘贴即可,部件的应用更为简便。如下图:按住ctrl,直接拖拽即可。

2023-11-22 18:27:48 125

原创 pyqt5的组合式部件制作(三)

这个部件由多层、多个部件组成。初步的思路是:逐层查找并执行初始化,并利用递归的方法直至最底层。

2023-11-08 17:57:38 130

原创 pyqt5的组合式部件制作(二)

打开Qt设计师,将MySelectorBox加入“提升的窗口部件”,并将_selector_1“提升为”MySelectorBox“。可以看到,主程序中仍然必须有每一个部件的init()语句,所以,下一步的任务就是要把部件的init()语句自动或半自动隐式执行。如果需要多个相同的组合部件,只需要再Qt设计师里面简单的复制粘贴即可。例如,三个相同的选择器:将第一个选择器简单复制粘贴即可。打开Qt设计师,将MyLamp加入“提升的窗口部件”,并将几个指示器全部“提升为”MyLamp”。

2023-11-08 11:44:20 119

原创 pyqt5的组合式部件制作(一)

自己制作部件的优势所在,你可以实现一些默认部件不具备的特殊效果和功能

2023-11-07 21:53:31 162

原创 使用isinstance来遍历获取元组中的所有成员

o = []else:return o。

2023-11-06 17:57:11 37

原创 我用PYQT5做的第一个实用的上位机项目(六)

在任何时候,上位机发给PLC的报文都是固定长度的,报文的首2和末2字节内容相同,作为事件定义和断帧校验。至于本次需要查询哪些部件的变量,这些变量的类型和字节长度都是提前规划好并在PLC端写好了对应的子程序,当PLC端收到报文并且报文头6字节与字符串“A0101S”比对成功,报文的第11、12字节与字符串“A0”比对成功,就执行相应的子程序把上位机需要的地址的内容复制到PLC的通信发送缓冲区打包并发送至上位机,上位机收到返回的数据后,按照提前规划的变量的类型和字节长度解码并刷新显示界面。

2023-10-10 22:56:14 456 1

原创 我用PYQT5做的第一个实用的上位机项目(五)

总结一下,目前有两个画面:主画面和数据设置画面,一个选择器,一个仪表盘,一个指示灯,几个功能按钮。其中表盘、 进度条和指针的外形尺寸以及几何位置相同,背景色都是透明色。通过旋转指针和进度条的角度来实现显示。遮罩的作用是把进度条的下半部分遮住。同样的,画面中的部件,每个部件对应一个同名的首字母大写的类,用来补充定义部件。如上图,每个画面对应一个同名的首字母大写的类,用来补充定义画面。仪表盘由以下部件构成:背景。制作一个动态仪表盘。

2023-10-09 10:46:31 137

原创 我用PYQT5做的第一个实用的上位机项目(四)

继续建设自定义的部件,这次是项目选择器(类似于QRadioButton)。

2023-10-04 14:52:52 107

原创 我用PYQT5做的第一个实用的上位机项目(三)

画面的类,目前创建了两个画面:form0( 主画面)和form_setting(设定值画面),每一个画面对应一个同名首字母大写的类,例如:form0对应的类是Form0,form_setting对应的类是Form_setting。然后在类里面,每一个需要有操作的部件,例如按钮、指示灯等,也都对应一个同名首字母大写的类,这样就可以把所有部件的操作按位置集中整合。因为自己不是专业的程序员,只是一个搞电气控制的“票友”,所以尽量减少手动输入 代码量,能在Qt Dsigner里面完成的组态就不要放在代码里面完成。

2023-10-03 12:35:19 381

原创 我用PYQT5做的第一个实用的上位机项目(二)

一、按钮的图片资源:用绘图软件(例如AI、coreldraw、PS等,看自己的熟悉程度)制作按钮的图标,我是用的大雄CAD,做出来线条之后导出PNG到PS去进一步编辑。说个题外话,大雄CAD是一个免费的CAD软件,有很多年历史了,我记得应该是西工大一个叫廖达雄的教授搞的,无基础零秒上手,对于搞电气的只需要简单画画机械图的特别适用。以“用户”图标为例,在大雄CAD中,画4个圆,直径为3和5,线粗为0.4,线色RGB(230,230,230)首先,制作一些自定义的常用部件,原生的部件很粗糙。

2023-09-28 18:08:06 281

原创 使用PYQT5简单制作动态仪表盘

【代码】使用PYQT5简单制作动态仪表盘。

2023-09-17 23:33:17 380

原创 PYQT制作动态时钟

【代码】PYQT制作动态时钟。

2023-09-15 18:10:36 401 2

原创 Edge浏览器如何简单用上ChatGPT

Edge浏览器如何简单用上ChatGPT。

2023-09-14 16:35:36 634

原创 我用PYQT5做的第一个实用的上位机项目(一)

用PYQT5做的一个实用的上位机项目

2023-09-13 18:58:34 362

原创 python 列表删除重复元素

【代码】python 列表删除重复元素。

2023-09-01 23:34:39 44

原创 python需要确认才执行的函数

用于需要确认才执行的函数,例如图形界面中的密码输入,密码正确才执行

2023-08-30 09:41:09 41

原创 修改ini文件的特定参数

整行修改文本的特定内容并保存

2023-08-29 22:24:35 131

原创 python不用附加库的简单的字符串加密

思路:密钥是一串数字字符串,首先取得原始字符串的每个字符的ASCII码,然后将每个字符ASCII码与密钥字符串的对应位置的数字加减(偶加奇减)得到新的ASCII码列表,转换为字符串输出。

2023-08-28 23:00:13 231

原创 用Qlabel制作的自定义带图片的按钮

11、新建python文件,用PyRcc转换并导入图片资源。PyRcc的安装和使用,前面的连接里面也有。3、 Photoshop创建几个PNG图片,大小与需要的按钮尺寸一致,背景色为透明色;9、label的“改变样式表”,“添加资源”,“image”,选择之前引入的图片资源。7、逐个添加之前创建的PNG图片,至此已将图片资源引入。以上步骤不清楚的,可参照。1、Qt Designer中新建UI,命名为:带图片按钮.UI;2、在UI的背景处点击右键,改变样式表,添加颜色,设定背景色;

2023-08-22 12:22:50 410

原创 海康硬盘录像机读取rtsp流的滞后实测

本地4个画面大约延迟1秒,4个中最快的比硬盘录像机直接输出的hdmi画面慢2秒,总共3秒。

2023-07-28 21:31:47 414

原创 opencv调用笔记本内置摄像头的最简框架

【代码】opencv调用笔记本内置摄像头的最简框架。

2023-07-24 07:51:03 40

原创 PYQT的show()与hide()使用的困惑

代码看上去没问题,但是运行之后窗口没有显示,只执行了一次print('1'),然后就没有任何响应了。分析原因:main函数里面的show()还没有执行,就是说,form1还没有创建就被th1调用了,所以会出错。解决方法:将th_todo1里的 time.sleep(0.5)挪到第一行,给main函数时间去创建form1。最初的目的是设计一个周期显示和隐藏的窗体,每隔0.5秒钟显示或隐藏,达到“闪烁”的效果。困惑1:将语句form1.show()挪至th_todo1里面,程序不能正常运行。

2023-07-14 20:42:26 401

原创 python的函数或者类作为参数传递的灵活运用

直接使用了type()函数返回的类作为方法或者函数。

2023-07-10 18:03:20 67

原创 终于明白了一点点super().__init__()

super().__init__()的意义是继承父类的__init__(),__init__()是初始化的意思。2、即使不写super().__init__(),子类也是自动继承了除父类的__init__()之外的所有方法。3、拥有多个父类的子类,如果各个父类拥有同样名称的方法,就继承最先遇到的。各个父类不同名称的方法,全部继承。1、super().后面不仅可以跟__init__(),也可以跟别的函数,其意义是继承于父类。一直在照猫画虎、稀里糊涂地用,看完这篇文章,终于搞清楚了一点点原理,记录一下,备忘。

2023-07-10 00:34:00 882 1

原创 博途利用MOVE_BLK_VARIANT实现混合数据类型的块移动

MOVE_BLK_VARIANT可以将一个数据块的指定数据区域移动到另一个数据块的指定数据区域,前提是源区域和目标区域的数据类型相同。MOVE_BLK_VARIANT的实际应用意义在于,可以将不同类型的连续数据块一次性传输(不支持bool类型),这在PLC与网络设备的通信中会有用得到。

2023-06-26 18:51:01 3118

原创 python与PLC通信的数据转换

PLCSIM创建仿真PLC。

2023-06-23 00:12:06 454

原创 返回一个字节中某一位的bool值

【代码】返回一个字节中某一位的bool值。

2023-06-22 17:32:58 35

原创 python的函数作为对象传递

python的函数也可以作为对象传递,那么将函数放到列表里就可以顺序执行。这样就可以实现一些神奇的“批处理”功能。

2023-06-20 21:49:52 95

原创 threading范例以及自定义class

【代码】threading范例以及自定义class。

2023-06-19 17:00:33 39

原创 利用PYQT的QTimer制作一个带电平输出的双稳态时钟

PYQT的QTimer定时器与python自带的time.sleep()相比,定时期间并不会阻塞。很适合用作周期性的定时操作。

2023-06-17 22:14:33 57

原创 modbus tcp转发

机是低代码,只能发送modbus报文,现需要收到15码之后转发至下位,并延时后关掉下位。

2023-04-21 22:14:50 307

原创 提取字符串中的数字串或非数字串

【代码】提取字符串中指定顺序的数字串。

2023-04-05 23:45:34 485

原创 试试用pyqt做一个上位机软件,但愿不会烂尾(十二):通信内容的准备

感觉处理简单的excel功能,pandas没有openpyxl好用,就用了openpyxl,这不是重点,无所谓用哪个,达到目的就行。在博途生成的默认变量表,后面加入两列"T"和“RW",含义是通信周期和读写类型。

2023-04-04 23:41:38 410 2

原创 python使用exec()函数创建全局变量的困惑

但是这样的话就无法将使用exec()函数创建变量的方法封装以供方便调用。例如要创建10个bool变量b0-b9,就有以下代码:无法将。现在把a()函数里用exec()函数来取代实际的语句:出现了变量未定义的错误提示。原因未知,也没有在网上搜到合理的解释。先看一段代码:这里在a()函数里定义了一个全局变量a1,后面的调用和修改都没有任何问题。使用这两种方法都可以实现在主函数中间接地调用封装好的含有exec()函数的方法。

2023-04-02 23:25:13 497 1

pyside6自定义部件库和软件框架进度记录v1

pyside6自定义部件库和软件框架进度记录v1

2024-04-11

pyqt5的组合式部件制作(四)的资源

pyqt5的组合式部件制作(四)的资源

2023-11-22

pyqt5的组合式部件制作(四)资源

pyqt5的组合式部件制作(四)资源

2023-11-22

pyqt5的组合式部件制作(二)

pyqt5的组合式部件制作(二)

2023-11-08

pyqt5的组合式部件制作(一)阶段资源

pyqt5的组合式部件制作(一)阶段资源

2023-11-07

我用PYQT5做的第一个实用的上位机项目(五)

我用PYQT5做的第一个实用的上位机项目(五)

2023-10-09

我用PYQT5做的第一个实用的上位机项目(四)配套资源

我用PYQT5做的第一个实用的上位机项目(四)配套资源

2023-10-04

我用PYQT5做的第一个实用的上位机项目(三)

我用PYQT5做的第一个实用的上位机项目(三)的资源文件

2023-10-03

我用PYQT5做的第一个实用的上位机项目(二)资源

我用PYQT5做的第一个实用的上位机项目(二)资源

2023-09-28

使用PYQT5简单制作动态仪表盘

使用PYQT5简单制作动态仪表盘

2023-09-17

PYQT制作动态时钟,使用了直接读取和旋转图片的方法

PYQT制作动态时钟,使用了直接读取和旋转图片的方法

2023-09-15

用Qlabel制作的自定义带图片的按钮

用Qlabel制作的自定义带图片的按钮

2023-08-22

博途利用MOVE-BLK-VARIANT实现混合数据类型的块移动

MOVE_BLK_VARIANT范例

2023-06-26

python与PLC通信的数据转换

python与PLC通信的数据转换

2023-06-23

数组的创建以及将二维数组转换成为一个连续的一维数组

数组的创建,选择和不选择输入连接的区别。以及将二维数组的两个维连接起来转换成为一个连续的一维数组

2023-04-17

LABVIEW调用C++的dll

编译好的深度学习dll,用labview调用

2023-04-17

西门子STL中文编程手册

西门子PLC的STL中文编程手册,带目录

2023-03-27

试试用pyqt做一个上位机软件,但愿不会烂尾(八)的资源

两个功能简单的测试页面,先不考虑界面的美化,以实现简单功能为目标。美学和人体工程学的最后再说。

2023-03-20

试试用pyqt做一个上位机软件,但愿不会烂尾(七)配套资源

pyqt的进度条显示只能接受整数输入,不能直接显示小数,采用了折中的办法,重新定义了进度条的text()函数。然后将输入的整数除以10的倍数,传递到text()函数中进行显示,比如说想显示一小数就除以10。顺便搞了几种常用的颜色方案,封装入库,以备调用。

2023-03-17

试试用pyqt做一个上位机软件,阶段5的源码

试试用pyqt做一个上位机软件,阶段5的源码

2023-03-11

试试用pyqt做一个上位机软件,但愿不会烂尾(四)的资源

试试用pyqt做一个上位机软件,但愿不会烂尾(四)的资源

2023-03-08

自制PYQT5指示灯资源

自己使用的指示灯资源,用的时候按住CTRL直接拖到新窗口即可

2023-03-08

试试用pyqt做一个上位机软件,但愿不会烂尾(二)资源

试试用pyqt做一个上位机软件,但愿不会烂尾(二)资源

2023-03-08

配套的资源文件,记录一下过程

学习简单SCADA用到的资源

2023-03-08

labview检测并显示移动物体的练习,有参考别人

abview检测并显示移动物体,并算出最大的物体移动速度

2022-07-31

用labview检测移动物体的练习程序

用IMAQ Absolute Difference将连续采集的图像相邻帧的像素差显示出来,可用于运动目标检测

2022-07-30

LABVIEW强制类型转换以及强制转换为类型二者的区别

初学,有些概念比较模糊,做了一个小程序对二者的区别加以总结

2022-05-27

labview字符串到数字的转换

初学labview,共同探讨一下

2022-05-21

空空如也

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

TA关注的人

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