- 博客(119)
- 资源 (4)
- 收藏
- 关注
原创 Qt Designer的父子部件样式表设置学习
在Qt Designer中新建图像界面,放置两个QWidget,命名为widget_1和widget_2;单独改变了widget_2,但是隶属于widget_2的pushButton_1和pushButton_2并没有改变。需要注意的是,采用这种办法,如果被改变的小部件还有它的子部件,子部件并不跟随被改变的小部件的改变而改变。这里,将隶属于widget_1的类型为QPushButton的所有部件全部定义了新的显示特性。这个样式表的含义为:widget_1中,所有的QWidget都按照指定的样式表显示。
2024-07-27 00:13:29
218
原创 PySide(PyQt)使用QPropertyAnimation制作动态界面
【代码】PySide(PyQt)使用QPropertyAnimation制作动态界面。
2024-07-25 22:45:15
71
原创 PySide(PyQt)的QPropertyAnimation(属性动画)的应用实践
究其原因, 新的代码中,QPropertyAnimation 对象animation,它是函数animate()的一个局部变量,当函数animate()执行完毕后,并没有将该变量传递到主线程,所以造成运行异常。新的代码中,将动画部分的定义和设置、运行定义为一个函数animate(),并在主循环中运行。从逻辑和语法上看没有任何问题,但是,运行的结果,并没有执行预期的动画。这个代码中,定义了一个UI(QObject)的类,将其作为项目级别的信号和变量的容器。原理和语句都很简单。这个代码的运行是没有任何问题的。
2024-07-25 21:39:29
273
原创 PySide(PyQt)的QPropertyAnimation(属性动画)
QPropertyAnimation 是 PySide(PyQt) 中一个用于在时间轴上平滑地改变对象属性的类。它常用于制作动画效果,比如移动、缩放或改变透明度等。QPropertyAnimation 是 Qt 动画框架的一部分,它能够让你在一定的时间内渐变地改变一个对象的属性。比如,你可以用它来改变一个窗口的位置、大小,或者改变一个按钮的颜色。QPropertyAnimation 允许你定义要动画化的属性,并设置它的起始值和结束值。
2024-07-25 15:39:07
910
原创 PySide(PyQt)的小部件通过伪状态以及自定义特性改变外观
除了使用默认的伪特性,还可以自定义特性,通过改变自定义特性的方法改变外观。# 自定义的特性custom_attributecolor: red;""")# 槽函数和信号连接# 按钮1点击的槽函数# 按钮1点击的连接app.exec()color: red;# 按钮1点击的连接# 按钮1点击的槽函数这样,每点击一次按钮1,按钮2的自定义特性就反转,并根据样式表改变外观。
2024-07-24 09:23:07
808
原创 PySide的style().unpolish()与style().unpolish()
在 Qt 框架中,polish() 方法用于重新应用样式表或更新控件的外观。它的作用是强制控件重新应用样式表,以确保外观的更新能反映在控件上。这个方法通常在控件的样式表更改或控件的属性发生变化后使用(发生变化的属性与外观的改变有相关,例如:在样式表里有设置)。当你修改了控件的样式表(例如通过 setStyleSheet 方法),控件可能不会立即更新其外观。调用 polish() 方法可以确保样式表被重新应用,从而更新控件的外观。polish() 方法会触发控件的重新绘制,确保控件的外观与样式表的定义一致。
2024-07-24 09:20:37
199
原创 PySide(PyQt),自定义图标按钮
1、在Qt Designer中新建画面,并放置3个按钮(QPushButton)和一个分组框(QGroupBox)小部件,分别命名为btn_1,3、将按钮的宽高尺寸改为50*50,分组框的宽高尺寸改为90*170,并将按钮拖入分组框。8、使用uic工具和 RCC工具,将ui文件和图像资源转换成python的脚本文件.py。这个应用框架是我根据自己的使用习惯和能力范围创建的,你也可以根据自己的实际情况搭建框架。4、使用画图软件绘制图标,这里是使用的32*32,同一图标存为彩色和灰度两种格式。
2024-07-23 18:04:17
567
原创 python的csv库常用操作
csv 模块是 Python 标准库中的一个模块,用于处理 CSV(逗号分隔值)文件。它提供了简单易用的功能来读取和写入 CSV 文件。
2024-07-23 00:07:24
803
原创 python的open()函数
None(默认值):这是 open() 函数的默认行为,它允许 Python 自动处理行结束符的转换。在文本模式下(默认模式),open() 函数会根据操作系统的不同,将行结束符自动转换为 \n(Unix 风格),\r\n(Windows 风格),或 \r(旧 Mac 风格)。''(空字符串):设置为空字符串时,open() 函数将不进行任何行结束符的转换。mode:文件打开模式,如 'r'(只读模式),'w'(写入模式),'a'(追加模式),'r+'(读写模式)等。file:要打开的文件的路径。
2024-07-22 22:37:11
209
原创 opencv,连续拍摄多张图像求平均值减少噪点
对于照度低或者相机质量差造成的密集的随机小噪点,可以通过拍摄多张图像求平均值的方法来减少噪点,获得较为清晰的画面。与高斯滤波的效果相比,这种方法在降噪的同时不会使画面模糊,甚至更锐利。
2024-07-21 17:40:23
344
原创 opencv读写路径包含中文的文件
opencv直接读写路径包含中文的文件会出错。这是因为cv2.imread内部处理文件路径时,默认使用的是 C++ 标准库中的字符串处理函数,这些函数对于非 ASCII 字符可能处理不当,导致无法正确读取文件。1、使用读取文件内容,可以绕过文件路径的编码问题。方法直接从文件系统中读取原始的字节流,并将其存储在一个numpy数组中。这样就避免了文件路径编码的问题。2、使用cv2.imdecode 方法从内存中的字节流解码图像数据。
2024-07-20 18:10:42
489
原创 PySide(PyQt),使用 QGraphicsOpacityEffect 设置小部件的整体显示透明度
在 PySide6 中,可以使用 QGraphicsOpacityEffect 类来实现整体显示透明度。制作一个动态闪烁的指示灯。
2024-07-19 17:07:49
218
原创 PySide在Qt Designer中使用QTableView 显示表格数据
在 PySide6 中,可以使用 Qt Model View 架构中的 QTableView 部件来显示和编辑表格数据。
2024-07-15 18:28:04
466
原创 python的seek()和tell()
是用来在文件中移动指针位置的方法。它的作用是将文件内部的当前位置设置为指定的位置。offset: 这是一个整数值,表示相对于起始位置的偏移量。如果是正数,表示向文件末尾方向移动;如果是负数,表示向文件开头方向移动;如果是0,表示移动到文件的起始位置。whence: 这是一个可选参数,指定偏移量的参考位置。它有三个可选值:从文件开头偏移: 从文件末尾偏移: 从当前位置偏移: 方法返回的是文件指针的当前位置(以字节为单位)。在处理文件时, 是一个非常有用的方法,特别是在需要跳转
2024-07-13 23:00:30
413
1
原创 python的readline()和readlines()
将文件指针移到文件末尾# 获取文件末尾位置lines = []# 逐行向前读取文件内容,直到达到指定的行数或文件开头# lines.append(f.readline().rstrip('\n')) 用readline()的方法lines = f.readlines() # 用readlines()的方法break# 返回结果,注意如果用readline()的方法要逆序输出# return lines[::-1] # 逆序输出# 调用函数并显示最后5行内容。
2024-07-13 22:56:39
1042
原创 PySide(PyQt),csv文件的显示
在Qt Designer中新建QMainWindow,命名为csvShow.ui。QMainWindow上有两个部件:widget_csv和btn_exit。
2024-07-13 18:09:47
305
原创 python关于文件和路径的一些操作
在 Python 中,os.path模块提供了许多用于处理文件和目录路径的函数,这些函数能够跨操作系统平台运行,因为它们能够自动适应不同的路径分隔符和规范化。下面是一些常用的os.path和 os.path.isdir()和 os.path.dirname()这些函数使得在处理文件和目录路径时更加方便和可移植。
2024-07-11 22:36:47
909
原创 python,利用可变对象实现设置参数的同步回存
。将['a']['b']['c']['d']['e'],这个多层的内容值设置为一个变量,当变量在使用中被改变之后,要求将自动其回存至json文件,而不用手动地再次输入['a']['b']['c']['d']['e']这样复杂的结构。我们知道,一个列表,它的内存地址是固定的,但它的元素内容是可变的,利用这个特性就可以实现变量的传递。
2024-07-10 22:19:23
853
原创 PySide(PyQt)的QMessageBox
是 PySide6 中用于显示各种消息框的类,它能够在图形用户界面中弹出一个对话框,用于向用户展示信息、警告或错误,并接收用户的响应。它通常用于与用户进行简单的交互或提示操作的结果。显示不同类型的消息:按钮和响应:使用简单:标准按钮和自定义按钮:灵活的定制化:静态方法:属性和方法:这些方法展示了如何利用 提供不同类型的消息提示,以便用户了解操作的成功与否或者需要采取的进一步步骤。总之, 是一个非常有用的工具类,能够帮助开发者在用户界面中有效地处理信息提示和用户交互,提升应用程序的用户体验。
2024-07-08 23:35:03
243
原创 python的os.walk()
os.walk()是一个非常有用的函数,用于在Python中遍历文件夹树。它返回一个生成器,该生成器在每次迭代时返回一个包含三个元素的元组:(当前文件夹的路径,文件夹中的子文件夹的列表,文件夹中的文件的列表)。这个函数对于递归地操作文件系统,如查找、文件重命名或移动文件特别有用。
2024-07-05 22:18:33
247
原创 PySide(PyQt),event.pos() 和 event.position()的区别
来获取鼠标在特定部件内的坐标,因为这通常是处理鼠标事件时所需的局部坐标。)则通常用于需要知道鼠标在屏幕上的绝对位置时,例如在拖放操作或全局事件处理中。在大多数情况下,你会使用。在 PySide6 中,
2024-06-29 10:30:38
217
原创 PySide(PyQt)利用回调和闭包定义信号与槽
如图3个按钮,均设为checkable,放置在一个groupbox内成为一个按钮组,要求实现的功能:当点击某个按钮时将本按钮设为选中(,也就是列表中最后一个按钮的状态会始终被设置为选中,而其他按钮则会被取消选中。看上去好像没问题,但是运行结果如下:无论点击哪一个按钮,只有按钮3被选中。的值都会被最后一个按钮对象所覆盖,因此当任何按钮被点击时,实际上都会调用。是一个循环变量,其值在整个循环执行期间会发生变化。这意味着在每次循环中,,并取消选中按钮站中的其他所有按钮(
2024-06-21 10:59:05
185
原创 python的函数的嵌套调用
函数b()被定义在函数a()的内部,因此它的作用域仅限于a()函数内部,在a()函数外部无法直接访问和调用函数b()。将函数b()作为a()函数的返回值,这样在调用a()函数时可以得到函数b()的引用。问题的提出:我们知道可以通过定义类(class)的方法在一个函数内调用和访问另一个类内的函数或方法。那么如果不定义类,怎样用一个函数调直接用另一个函数?将函数b()定义为全局变量,这样就可以在a()函数外部访问到函数b()。将函数b()作为另一个函数的参数传递,在这个函数内部调用函数b()。
2024-06-17 17:05:26
268
原创 Pyside使用Qt Designer和uic工具的基本框架的demo
1、在Qt Designer里创建窗口,并存盘。本例命名为show.ui;2、使用pyuic工具将.ui转换为.py文件;3、创建主py文件,调用。
2024-06-14 11:26:39
668
2
原创 pyside6在QLabel上显示图像文件
显示结果:原图的长宽按照label的尺寸自动缩放,如果原图和label的长宽比不同,会有变形。显示结果:原图按照最合适的不变形比例进行缩放。猫咪的图片:370*280像素。运行结果:原图1:1显示。
2024-06-13 16:38:28
333
原创 python的变量的引用与赋值的学习
字典或者JSON数据,我们有时候需要修改字典的值,如果字典的结构层次很深,修改起来就很繁琐。由于变量和字典的值同时指向了同一个列表,这是因为列表是可变对象,当你通过变量修改了列表的内容时,所有指向该列表的引用都会反映出这些修改,字典的值得到了预期的修改。并没有实现预期的功能,原因与文章开头的第一段代码相同,变量只是被重新赋值,无法将变量的改变传递到字典的值。这是因为列表是可变对象,当你通过一个引用修改了列表的内容时,所有指向该列表的引用都会反映出这些修改。在这个代码中,对字典的一个值的修改很不简洁。
2024-06-13 10:49:36
557
原创 threading.Lock()互斥锁
是Python中的线程锁,用于在多线程程序中控制线程对共享资源的访问。当一个线程获得了锁之后,其他线程需要等待这个线程释放锁之后才能继续访问共享资源。看得出,由于多线程同时访问同一个变量,变量的变化是随机和混乱的。有了互斥锁后,线程对变量的访问是唯一和有序的。
2024-06-11 15:10:48
217
原创 threading.Timer()的用法
threading.Timer()是 Python 中的一个线程模块,用于创建一个定时器线程。它可以在指定的延迟时间后执行一个指定的函数。
2024-06-11 10:36:59
277
试试用pyqt做一个上位机软件,但愿不会烂尾(七)配套资源
2023-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人