- 博客(90)
- 收藏
- 关注
原创 自动化:批量文件重命名
本文介绍了一款自动化批量文件重命名工具,旨在帮助用户快速整理杂乱无章的文件名。通过该工具,用户可以自定义文件名前缀、后缀、起始编号和文件类型,并支持预览和执行重命名操作。工具界面简洁,功能实用,适用于需要批量处理文件名的场景。源码基于Python编写,使用了Tkinter库构建图形界面,用户可以通过选择文件夹、设置重命名规则,并扫描文件后进行预览或执行重命名操作。该工具特别适合处理下载后文件名混乱的情况,能够有效提高文件管理效率。
2025-05-18 22:45:33
448
原创 上班无聊用python写一个摸鱼小游戏:数字碰撞
你推过《推箱子》,你也玩过《消消乐》,并且你也是一个数学天才,所以这个小小数字游戏你完全可以拿捏。
2025-04-30 09:30:00
329
原创 AI模型必选
文本模式下的AI 模型有三种方式,文本输入、图片和文档(PDF),虽然它能处理图片和文档,但是它只是一个语言模型,不能给你发图片。1、国内使用chatGPT接口二次开发的网站,有很多我随便发一个。2、“通义千问”:阿里云推出的一个超大规模的语言模型。输入文本描述,会给你生成相符的图片。①通义千问:AI语言模型。②通义万相:AI图像模型。
2024-01-04 18:03:16
1928
原创 Qt——对话框简介
在现代计算机应用程序中,对话框是用户界面设计的重要组成部分,用于与用户进行信息交互和数据输入。对话框可以分为独立对话框和定制对话框两大类,它们为用户和应用程序之间的交流提供了便捷的窗口。
2023-09-13 11:46:43
321
原创 Qt——事件处理详解
事件是Qt应用程序中的基本构建块,它们代表了一些特定的行为或状态变化。事件可以是鼠标点击、键盘输入、窗口大小改变、定时器事件等。每个事件都是一个对象,继承自QEvent类。
2023-08-29 00:54:07
1668
原创 Qt——Qt工作原理:事件驱动、信号与槽机制
Qt作为一个现代的GUI(图形用户界面)框架,采用了事件驱动的编程范式,并引入了信号与槽机制,以实现高度交互和松耦合的程序设计。下面详细解释了相关概念,以及如何在Qt中使用它们。
2023-08-26 17:43:27
1158
原创 Qt——QLineEdit控件常见的属性、方法和信号
描述:设置一个占位文本,当文本框为空时显示,用于提示用户输入的预期内容。用法:连接到这个信号的槽函数中,可以在用户按下回车键时执行相应操作。用法:连接到这个信号的槽函数中,可以在选择的文本变化时执行相应操作。用法:连接到这个信号的槽函数中,可以在文本发生变化时执行相应操作。用法:连接到这个信号的槽函数中,可以在光标位置变化时执行相应操作。用法:连接到这个信号的槽函数中,可以在文本被编辑时执行相应操作。用法:连接到这个信号的槽函数中,可以在编辑完成时执行相应操作。描述:当选择的文本发生变化时触发此信号。
2023-08-26 17:35:52
6150
原创 Qt——Qt 开发中所涉及的所有控件(基本控件、容器控件、布局控件、高级控件、其他控件、多媒体控件、定制控件)
Qt开发中提供了许多控件(Widgets)供开发者使用,用于构建图形用户界面(GUI)应用程序。
2023-08-26 16:48:16
3512
原创 Qt——QPushButton控件的常见属性、方法和信号
这些信号表示了不同的按钮交互和状态变化,您可以将它们与相应的槽函数连接,以便在特定事件发生时执行所需的操作。,按钮将被指定为默认按钮,通常会显示一个默认的外观(例如,加粗的文本)。描述:设置按钮的"这是什么"帮助文本,通常用于上下文相关的帮助。描述:设置按钮的快捷键,用于在应用程序中触发按钮点击。描述:设置按钮的状态提示文本,通常在状态栏显示。描述:模拟按钮的点击动作,触发按钮的相应槽函数。用法:连接此信号以在按钮选中状态切换时执行操作。用法:连接此信号以在按钮被点击时执行操作。
2023-08-24 00:11:10
7863
原创 c与c++中struct的主要区别和c++中的struct与class的主要区别
struct 是一种用于定义复合数据类型的方式,与C相似。然而,C++中的struct不仅可以包含数据成员,还可以包含成员函数、访问控制和继承等概念,与类(class)的功能非常接近。换句话说,C++中的struct和class的区别主要是默认的访问控制和继承方式不同。c中struct 是一种用于组合多个不同数据类型的数据成员的方式。struct 声明中的成员默认是公共的,并且不支持成员函数、访问控制和继承等概念。C中的struct通常被用于将多个相关数据组合在一起,但没有类的其他功能。
2023-08-23 00:21:32
861
原创 c++——extern “C”的使用(cpp文件调用c文件)
extern “C” 是 C++ 提供的一个语法特性,用于在 C++ 代码中调用和使用 C 语言风格的函数和变量。C++ 和 C 在底层有一些不同的编译和链接约定,这会导致 C++ 编译后的函数名在链接时会带有额外的信息,与 C 代码的函数名不匹配。通过使用 extern “C”,我们可以告诉编译器按照 C 语言的约定来处理函数名和链接,从而实现 C 和 C++ 的混合编程。如果你在 C++ 代码中包含了一个 C 语言风格的头文件,你需要使用 extern “C” 来保证正确的链接。
2023-08-23 00:06:01
1222
原创 c++——函数重载
这些函数的参数个数、参数类型不同、顺序。这就是函数的重载(function overloading)。即对一个函数名重新赋予它新的含义,使一个函数名可以多用。函数重载允许我们使用相同的函数名来表示不同的行为,提高了代码的可读性和灵活性。
2023-08-22 23:52:53
425
原创 c++——内联函数
内联函数应该在头文件中定义,而不是在源文件中。如果在多个源文件中包含了同一个内联函数的定义,可能会引发“多次定义”的编译错误。
2023-08-22 23:07:39
328
原创 c++——引用(语法、引用特性、常引用、函数返回值引用和指针与引用的不同点)
我们知道引用并不开辟空间,所以a并没有开辟空间,而是n的引用,也就是n和a的地址会相同。如果不用static修饰n,则n变量在栈上开辟空间,如果调用一个其它的函数,a的值很有可能会发生改变,这样a的值得不到保障。所以需要常引用接收。用上面的例子就是,rb引用a时发生隐式转化,此时会创建一个临时变量tmp,先将a转化为int,再将tmp值赋给rb。:和隐式转化差不多,当返回的时候,会生成一个临时变量,该临时变量的值等于返回值。变量a是可读不可改写的,引用ra是可读可改写的,如果对ra改写,就会对a产生影响。
2023-08-21 00:29:19
213
原创 c++——c/c++中的static和const
在不同的上下文中,static 关键字可以用于改变变量或函数的存储区域。在函数内部,static 用于将局部变量的生存期从函数的生命周期扩展到整个程序的生命周期,并将其存储在静态存储区中。static 还可以用于限制变量、函数或类的作用域,使其仅在声明它们的文件中可见,而不是跨越整个程序的多个文件。这种情况下,static 在全局变量、函数和类的上下文中使用。在这个示例中,globalVar 被声明为静态全局变量,它的作用域限制在了声明它的文件 File1.cpp 中,其他文件无法直接访问。
2023-08-20 16:44:48
462
原创 c++——增强了(全局变量、变量和函数的都要有类型、类型转换、struct结构体、bool类型和三目运算符)
在c++中对全局变量、变量和函数的都要有类型、类型转换、struct结构体、bool类型和三目运算符的增强
2023-08-20 15:38:57
209
原创 c++——单例模式
单例模式确保一个类只有一个实例,并提供一个全局访问点以获取该实例。这通常通过让类的构造函数为私有,以防止外部直接实例化,然后提供一个静态方法来获取实例。
2023-08-19 00:47:56
571
1
原创 c++——静态成员变量、静态成员函数和const修饰的静态成员变量
①静态成员变量在内存中只有一份,多个对象共享一个静态变量②静态成员变量,必须类内声明,类外定义③静态成员变量可以通过类的作用域访问④静态成员变量可以通过类的对象访问。
2023-08-18 23:49:09
264
原创 C++——友元(友元函数、友元类和友元成员函数详解)
友元函数是在一个类中声明的一个非成员函数,但在类的内部声明该函数为友元。这意味着该函数可以访问该类的私有成员,包括私有变量和私有函数。友元函数的声明通常位于类的声明中,但其实现则位于类外部。1、友元函数:通过friend+普通函数友元函数是在一个类中声明的非成员函数,但在类的内部声明该函数为友元。这使得该函数可以访问该类的私有成员。private:public:// 声明友元函数// Getter函数// 友元函数实现
2023-08-18 23:23:17
4865
1
原创 网络编程——数据包的组装和拆解
目标MAC地址(6字节),这是数据帧要发送到的目标设备的MAC地址。它唯一标识了数据帧的目的地。:源MAC地址(6字节), 这是数据帧的发送者的MAC地址。它唯一标识了数据帧的来源。:类型/长度字段(2字节),确定以太网头后面跟的是哪个协议0x0800 ip协议0x0806 arp协议0x0835 rarp协议(46-1500字节): 这是实际要传递的数据,它的长度可以在46字节到1500字节之间。如果数据不足46字节,会被填充至46字节,确保帧的最小长度。
2023-08-07 23:39:20
734
1
原创 网络编程——MAC地址、IP地址和子网掩码
MAC地址,即(Media Access Control Address),是一个用于唯一标识网络设备的物理地址。每个网络接口卡(NIC)都会被分配一个全球唯一的MAC地址,它通常由48bit的值十六进制数字组成,被分为6组,用冒号或连字符隔开。前三组是厂商ID后三组是设备ID,,也可以看作是设备的数字指纹。
2023-08-07 20:13:03
944
原创 网络编程——TCP/IP协议族(IP协议、TCP协议和UDP协议……)
IP协议又称特指为实现在一个相互连接的网络系统上从源地址到目的地传输数据包(互联网数据包)所提供必要功能的协议,是网络层中的协议。
2023-08-07 19:17:05
1467
原创 网络编程——深入理解TCP/IP协议——OSI模型和TCP/IP模型:构建网络通信的基石
TCP/IP协议,即,是一组用于在计算机网络中实现通信的协议。它由两个主要的协议组成:TCP(传输控制协议)和IP(互联网协议)。TCP负责确保数据的可靠传输,而IP则负责路由数据包以在网络中传递。TCP/IP协议簇还包含其他辅助协议,如UDP(用户数据报协议)和ICMP(互联网控制消息协议)等,以提供更广泛的网络功能。为了该少协议设计的复杂性,大多数网络模型均采用分层的方式来组织每一层利用下一层提供的服务来为上一层提供服务本层服务的实现细节对上层屏蔽。
2023-08-07 18:44:08
1674
原创 网络编程——多路复用——epoll机制
epoll 是 Linux 操作系统提供的一种 I/O 多路复用机制,用于监视多个文件描述符的状态并进行事件驱动的 I/O 操作。它是基于事件驱动的模型,通过将文件描述符注册到 epoll 内核事件表中,然后等待内核通知有事件发生,从而避免了阻塞式 I/O 和传统的轮询方式。epoll 可以同时处理大量的并发连接,并且能够高效地处理文件描述符上的事件。
2023-08-07 00:02:53
819
原创 网络编程——超时检测(select()、poll()和 setsockopt()的设置合理的超时检测机制)
网络编程中的超时检测是确保程序高性能和可靠性的关键一环。本文介绍了多种超时检测方法,包括使用 select()、poll() 函数,设置 setsockopt() 选项,使用时间戳和定时器,以及使用非阻塞套接字等。具体的使用方法取决于编程需求和特定的情况。合理地选择并使用这些方法,可以有效地避免程序长时间阻塞,并保障系统在网络故障或其他异常情况下的稳定运行。在进行网络编程时,请务必重视超时检测,并根据实际情况选择适合的方法,从而提高网络应用的性能和健壮性。
2023-08-06 23:15:59
2885
原创 IO进、线程——线程(线程的创建、线程的退出、线程的回收、线程的分离和多线程并发编程)
线程是进程的一部分,是任务调度的最小单位。一个进程可以包含多个线程,这些线程可以并发执行,共享进程的资源,但每个线程都有自己的执行路径。在多核处理器上,多个线程可以同时运行,提高了程序的性能和响应能力。下面将对线程的创建、退出、回收和分离。
2023-07-31 00:50:32
817
原创 IO进、线程——进程间通信的IPC对象(共享内存、消息队列和信号灯集)
进程间通信(IPC,Inter-Process Communication)是指不同进程之间进行信息交换和数据共享的机制。在多进程编程中,进程间通信是非常重要的,它允许不同的进程之间进行协调和合作,从而实现更复杂的任务。在Linux/Unix操作系统中,提供了多种IPC对象,其中包括共享内存、消息队列、信号量等。这些IPC对象允许进程之间共享数据、发送消息和进行同步操作。接下来,我们将详细介绍和这三种常用的进程间通信IPC对象。
2023-07-29 15:18:27
329
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人