- 博客(43)
- 收藏
- 关注
原创 PyQt5-主线程与子线程的通信
2>主线程的弹框是阻塞式的,当关闭弹框/或点击OK关闭弹框后,主线程继续向下执行,此时主线程发射信号,子线程接收信号,子线程连接的槽函数是loop.quit,所以会退出局部事件循环,此时子线程的业务代码继续向下执行。2.子线程发射信号,并且进入局部事件循环,等待主线程完成GUI操作后,再将信号传递给子线程完成后续操作,这样可以实现子线程的异步执行。1.子线程发射信号,主线程接收信号完成指定GUI,这种状态下主线程完成GUI操作的同时,子线程是同步向下执行的。因为默认属于分类1,本次不做介绍。
2025-08-05 10:18:49
489
原创 Python 图像处理库Pillow
Python的Pillow库是PIL(Python Imaging Library)的一个分支,它为Python提供了强大的图像处理能力。Pillow允许用户打开、操作和保存多种图像文件格式。支持如JPEG、PNG、GIF、BMP等多种常见图像格式。提供调整亮度、对比度、饱和度、锐化等功能来改善图像质量。可以应用不同的滤镜效果到图像上,如模糊、轮廓检测等。支持在图像上绘制线条、矩形、椭圆、多边形等各种形状。支持对图像进行缩放、裁剪、旋转、翻转等变换操作。可以进行创建、打开、显示、保存图像等基本操作。
2025-07-22 15:53:33
506
原创 Python 处理yaml文件读写操作
请注意,YAML非常注重缩进,但并不像Python那样严格要求使用特定数量的空格进行缩进。一般来说,只要保持一致即可。此外,YAML还支持更复杂的数据结构和高级特性,如锚点和别名、自定义数据类型等。(YAML Ain't Markup Language)是一种简洁的、易于人类阅读的数据序列化格式,常用于配置文件和数据交换。它支持多种数据结构,如列表、哈希表等。:每一项用短横线加空格开头,表示列表中的一个元素。:通过缩进层次来表示嵌套的对象或映射关系。:可以使用引号括起来,也可以不使用引号。
2025-07-22 14:51:16
356
原创 PyQt5-高级控件-容器QDockWidget
QDockWidget是一个可以停靠在QMainWindow内的窗口控件,它可以保持在浮动状态或者在指定位置作为子窗口附加到主窗口中。QMainWindow类的主窗口对象保留有一个用于停靠窗口的区域,这个区域在控件的中央周围。
2025-07-02 16:07:46
264
原创 PyQt5-高级控件-容器StackedWidget
QStackedWidget使用QStackedLayout布局。QSTackedWidget控件与QTabWidget类似,可以有效的显示窗口的控件。QTackedWidget是一个堆栈窗口控件,可以填充一些小控件,但是同一时间只有一个小控件可以显示。
2025-07-02 15:07:41
290
原创 PyQt5-高级控件-容器QTabWidget
有时候我们可能会遇到,所开发的程序包含太多的控件,导致一个窗口装载不了或者装载太多而不美观。通过单击各选项卡可以查看对应的页面,我们可以把控件按照类别拆分,分别放置在不同的选项卡。QTabWidget控件提供了一个选项卡和一个页面区域,默认显示第一个选项卡的页面。此时我们可以通过容器控件来装载更多的控件。
2025-07-02 14:41:13
257
原创 PyQt5-高级控件QTreeWidget和QTreeView
通过QTreeWidget和QTreeWidgetItem可以实现树形结构的设计,其中QTreeWidgetItem类实现了节点的添加。当属性结构比较复杂时,一般是通过QTreeView类来实现的,而不是QTreeWidget类。两者最大的区别是:QTreeView类可以使用操作系统提供的定制模式,比如文件系统盘的树列表。
2025-07-01 16:26:26
205
原创 PyQt5-高级控件QTableWidget和QTableView
而QTableWidget自能使用标准的数据模型,并且其单元格数据是通过QTableWidgetItem对象实现的,通常QTableWidget就能够满足我们的要求。QTableWidget继承自QTableView,主要区别是QTableView可以使用自定义的数据模型来显示内容(先通setModel来绑定数据源)。QTableWidget是Qt程序中常用的显示数据表格的控件,QTableWidget是QTableView的子类,它使用标准的数据模型。
2025-07-01 16:11:39
496
原创 PyQt5-高级控件QListWidget和QLIstView
QListWidget是一个升级版本的QListView,它已经建立了一个数据储存模型(QListWidgetItem),直接调用addItem()函数,就可以添加条目(Item)。QlistView类用于展示数据,它的子类是QListWidget。QListView是基于模型(Model)的,需要程序来建立模型,然后再保存数据。列表中的每个条目都是一个QListWidgetItem对象,QListWidget可以设置为多重选择。QListWidget类是一个基于条目的接口,用于从列表中添加或删除条目。
2025-07-01 16:00:21
302
原创 Python 实现向CSV文件按列写数据
1.先按照原始横向(行)数据写入CSV,待操作完成后,将CSV文件内容进行转置《Python 文件操作》中,有设计该方案(本次略)缺点:因为需要先准备好写入的纵向数据,所以需要再获取全部数据后进行,一旦程序异常,可能导致数据全部丢失。首先说明,csv模块本身没有直接提供该接口,所以要实现向CSV纵向(列)写数据需要一些技巧。优点:可以实时写入原始横向数据,避免程序在中途异常时噪声的数据丢失。以上两种思路,各有优缺点,需要根据实际情况进行选择。2.先将原始横向数据,转成纵向数据,再写入CSV。
2025-06-23 14:38:29
285
原创 PyQt5-多线程
1>使用计时器模块QTimer(在当前的项目开发中很少会用到,基本会被 QThread 多线程取代【这里不再介绍,需要用到时查询即可】)这个时候用户可能认为程序崩溃了而把GUI关闭,更有甚者windows系统认为程序出错,自动关闭了应用程序,将会极大的影响用户体验。PyQt的线程使用起来非常简单,只需要建立一个自定义的类,使该类继承自QThread,并重写QThread的run()方法即可。原因是GUI程序经常会有一些耗时的操作,如果程序是单线程运行,会导致整个程序卡顿,有一种程序"死掉了"的感觉。
2025-06-06 16:39:34
598
原创 PyQt5-信号和槽
4.信号使用:PyQt的窗口控件中有很多内置信号,可以直接使用,也可以创建自定义信号完成更灵活的功能(一般用在不同UI界面/逻辑设计之间的信号传递)。2.使用范围:在Qt中,每一个QObject对象和PyQt中所有继承自QWidget的控件(这些都是QObject的子对象)都支持信号与槽机制。1.基本概念:信号(Signal)和槽(Slot)是Qt中的核心机制,也是在PyQt编程中对象之间进行通信的机制。关于信号与槽,不同的控件有不同的信号连接状态,详细内容可参考官方文档。
2025-06-06 14:53:54
186
原创 QSS样式表-伪状态
3-3>.伪状态可以连接使用,如 :hover:checked 表示鼠标放上去and被选中时。<3-1>.不同的控件可能有某种特定的伪状态,无法通用处理,具体查看官方文档为准。1 - 作用:限制控件只能在某种状态下,被样式表控制。:unchecked - button控件未被选中。:checked - button控件被选中。:pressed - 控件被按下。:disabled - 控件失效。:off - 控件处于off状态。:enable - 控件有效。:on - 控件处于on状态。
2025-06-05 17:15:33
204
原创 QSS样式表-局部和全局
全局的用法,是在app应用程序位置调用 setStyleSheet 方法进行整体设置样式(或创建.qss文件单独封装)局部的用法,是在控件位置直接调用 setStyleSheet 方法设置控件样式。
2025-06-05 15:45:52
218
原创 Python 管理INI配置文件库configparser
INI 文件是一种常见的配置文件格式,通常由节(section)、键(key)和值(value)组成,使用内部库configparser支持读取、写入和管理 INI 格式的配置文件。
2025-04-27 10:40:28
219
原创 Python 操作Excel库openpyxl
1、管理Excel,主要用到 openpyxl 外部库(第三方库),需要先安装再使用。3、本例中仅列出了对Excel的基本操作,要处理其他操作可查询官方文档。2、库内部封装了大量的接口,能实现对Excel的操作。
2025-04-14 17:16:58
207
原创 Python 绘图库Matplotlib
3、import matplotlib.pyplot as plt 导入后即可使用(pyplot 是 Matplotlib 的核心模块,通常简称为 plt)1、Matplotlib用于创建高质量的二维图表和图形,它功能强大且灵活,广泛应用于数据分析、科学计算和机器学习等领域。4、输出格式多样:支持保存为 PNG、PDF、SVG 等多种格式。2、高度可定制:可以调整颜色、样式、标签、标题、坐标轴范围等。1、支持多种图表类型:折线图、散点图、柱状图、饼图等。plt.plot() - 折线图。
2025-03-25 15:57:58
459
原创 Python tkinter小案例-登录窗口
可通过该案例,快速了解tkinter是如何使用的(具体根据实际业务设计即可),^_^...案例里面,可以练习到基本的控件使用、布局方式、按钮控件绑定回调函数、以及消息框等内容。通过使用python内置的tkinter,快速开发一个登录小窗口GUI。
2025-03-21 17:08:59
432
原创 Python 推导式
与列标配推导式相比,生成器表达式只有在需要时才会计算值(惰性计算),按需生成元素,节省内存,尤其适合处理大数据集或无限序列。尽管生成器表达式与这些推导式非常类似,但在技术上,它通常不被严格归类为“推导式”,而是被视为一种特殊的迭代器。列表推导式是最常见的一种推导式,用于从一个或多个迭代器快速生成列表。3、字典推导式(Dictionary Comprehensions)集合推导式与列表推导式类似,但生成的是无序且不重复的元素集合。2、集合推导式(Set Comprehensions)
2025-03-19 17:57:03
385
原创 Python tkinter子模块
Combobox: 组合选择框控件,用户可以自己在输入框中输入内容,也可以在下拉列表中选择。Notebook: 笔记本控件,添加多个Frame选项卡,用户可以在不同选项卡之间切换。3、Separator(分割线 - 用来分离控件,类似于分类作用,比较常用)Sizegrip: 尺寸调整控件,显示一个调整窗口尺寸的按钮。子模块的内容,这里不做太详细的介绍,仅列举几个常用的内容作为示例,Separator: 分割线控件,显示一条垂直或水平的分割线。显示效果:(截图仅演示了“对话框1”)
2025-03-19 14:33:14
324
原创 Python tkinter主模块
7.1->Menubutton是一个Button的样式,可以绑定一个菜单,点击后弹出菜单,该控件基本不用,这里不介绍。4.2->Text里面不仅能够插入文本,还可以插入图片、组件等,还可以有标记功能,对于特殊的内容改变颜色。注意:Message控件(消息控件,用来显示多行文本,与Label功能类似),基本可以被Label替代。6.2->使用labelwidget参数,可以用一个组件替代显示的文本,比如可以设置一个Button。4、Text(多行文本输入框控件 - 用户可以输入多行文字,自由换行)
2025-03-19 11:30:30
804
原创 Python 类属性和实例属性的区别
★ 实例属性:适用于那些每个实例需要独立保存的数据。如果你希望某个属性值可以因实例而异,使用实例属性。★ 类属性:适用于那些所有实例共享的数据。如果你希望某个属性在所有实例之间保持一致,使用类属性。每个实例都有其自己的属性副本,因此修改一个实例的属性不会影响其他实例。修改类属性会影响所有实例(除非某个实例单独设置了同名的实例属性)类属性是在类中直接定义的变量,不需要通过 self 来声明。尽管可以通过类名访问实例属性,但不推荐。可以通过类名或实例名来访问类属性。主要通过实例名来访问实例属性。
2025-03-12 11:14:52
372
原创 Python 数据分析库NumPy
NumPy是Python中用于科学计算(数据分析)的第三方库,主要来处理 数值型 的多维度数组与矩阵运算,也针对数组运算提供大量的数学函数库。
2025-02-22 18:00:42
200
原创 Python 处理JSON数据
python进行JSON数据操作,主要介绍下面4个函数:json.dump()、json.dumps()、json.load()、json.loads()<1> 如果使用Json处理数据,需要和文件进行交互,推荐使用 json.dump() 和 json.load()<2> 如果在代码里仅处理Json数据,推荐使用 json.dumps() 和 json.loads()作用:将Python对象转化为Json字符串,并将字符串写入文件(注意:该方式需提供文件对象)参数:Json字符串(1个)
2025-02-18 16:55:49
407
原创 Python 正则表达式re
(字符区间可以用-(连字符)来定义)(如:[0-9]等价于[0123456789])[] (来定义一个字符集合)(如:[0123456789]等价于\d)\s (任何一个空白字符(等价于[\f\n\r\t\v]))[a-z] (匹配a-z的任意一个字母)(前面字符的0个或1个)* (前面字符的0个或多个)+ (前面字符的1个或多个). (任意字符,不包括\n)^ (匹配到字符串的开头)(取非)--->匹配单个字符。--->匹配多个字符。
2025-02-18 11:07:00
182
原创 Python 闭包和装饰器
1>.可以在函数整体功能上,增加其他功能(而增加的功能,要么在函数整体功能之前,要么在函数整体功能之后)<2>.往往(不是必须)是内部函数还用到了外部函数(变量),把内层函数的对象当做闭包。<4>.装饰器使用很灵活,不仅可以装饰函数,也可以装饰类,而且类也可以做装饰器。<1>.多层函数嵌套的定义(一般是2个,外层函数返回内层函数的引用)<3>.一个函数可以被多个装饰器修饰,一个装饰器也可以修饰多个函数。2.3 同一个装饰器对多个函数装饰。2.4 多个装饰器对同一个函数装饰。<5>.装饰器可以带参数。
2025-02-14 09:38:05
292
原创 Python 运行C语言代码
2、将main.c编译生成main.dll(略)3、编写python代码运行C语言代码。1、C语言源码(main.c)
2025-02-10 20:13:25
241
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1