自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 PyQt5-控件继承结构图

重点学习 QObject 其中的一个子类 QWidget。在PyQt5种,QObject 是所有类的基类。

2025-06-27 16:53:27 207

原创 PyQt5-动画与动画组

【代码】PyQt5-动画与动画组。

2025-06-27 09:49:47 241

原创 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样式表-声明

注意:该部分内容很多,下面仅列举了一些常用的,有特殊样式定制可参考指定控件的官方文档。

2025-06-06 10:52:38 170

原创 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样式表-选择器

【代码】QSS样式表-选择器。

2025-06-05 16:56:53 169

原创 QSS样式表-局部和全局

全局的用法,是在app应用程序位置调用 setStyleSheet 方法进行整体设置样式(或创建.qss文件单独封装)局部的用法,是在控件位置直接调用 setStyleSheet 方法设置控件样式。

2025-06-05 15:45:52 218

原创 PyQt5-四种布局管理方式

【代码】PyQt5的4种布局管理方式。

2025-06-04 17:47:16 149

原创 Python 使用PyInstaller打包项目生成exe

【代码】Python 使用PyInstaller打包项目生成exe。

2025-06-03 17:29:10 433

原创 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 线程的暂停和停止

【代码】Python 线程的暂停和停止。

2025-04-12 16:19:04 589

原创 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 对字典的值进行排序

这里仅列举了几种,还会有其他方案,针对项目实际情况,选择合适方式即可。

2025-03-18 14:46:06 278

原创 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 设置打印文字颜色

当前验证:在Windows系统的Pycharm工具控制台、和Windows终端生效。

2025-02-17 15:27:12 277

原创 Python 列表和字符串相互转换

1、列表 转 字符串。2、字符串 转 列表。

2025-02-17 14:46:54 385

原创 Python 闭包和装饰器

1>.可以在函数整体功能上,增加其他功能(而增加的功能,要么在函数整体功能之前,要么在函数整体功能之后)<2>.往往(不是必须)是内部函数还用到了外部函数(变量),把内层函数的对象当做闭包。<4>.装饰器使用很灵活,不仅可以装饰函数,也可以装饰类,而且类也可以做装饰器。<1>.多层函数嵌套的定义(一般是2个,外层函数返回内层函数的引用)<3>.一个函数可以被多个装饰器修饰,一个装饰器也可以修饰多个函数。2.3 同一个装饰器对多个函数装饰。2.4 多个装饰器对同一个函数装饰。<5>.装饰器可以带参数。

2025-02-14 09:38:05 292

原创 Python 内置函数

共包含69个内置函数(安装python后,支持直接调用的函数)

2025-02-12 16:15:34 517

原创 Python 文件操作

【代码】Python 文件操作。

2025-02-11 14:16:17 196

原创 Python 日志处理logging

【代码】Python 日志处理logging。

2025-02-10 20:27:32 173 1

原创 Python 运行C语言代码

2、将main.c编译生成main.dll(略)3、编写python代码运行C语言代码。1、C语言源码(main.c)

2025-02-10 20:13:25 241

空空如也

空空如也

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

TA关注的人

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