- 博客(14)
- 收藏
- 关注
原创 Python前端系列(三)
Bootstrap 是一个流行的开源前端框架,由 Twitter 团队开发并维护,现由社区持续更新。它主要用于快速构建 响应式、移动优先 的网站和 Web 应用。以下是关于 Bootstrap 的详细介绍:响应式设计预定义组件CSS 工具类JavaScript 插件定制化总的来说,BootStrap就是别人写好的一堆CSS样式,下面是不同版本下的的中文官网,里面有 :但是其中v3的中文文档说明的最清楚,所以这里先使用v3进行学习进入下图中的网站,并下载:得到的是一个zip压缩文件:解压缩后的文件目
2025-06-11 14:15:23
226
原创 Python前端系列(二)
用于点缀我们的html标签,让其更加的好看,下面有一个示例,优化了之前的用户登录界面接下来应该做的事情:主要就是学习CSS样式设置在HTML的标签内(只能在 )在HTML中的头部head中定义一个style()放在css文件中(可以让不同的html文件一起使用)CSS文件内容HTML 文件内容3. CSS打开和预览方式Flask框架->学习HTML +CSS 【实际项目开发】本地直接打开其中, 中的不可以省略id选择器(使用较少的)不存在多个标签共用
2025-06-07 18:54:10
229
原创 Python前端系列(一)
情况一:根据Flask框架的规则搭建基本的开发架子 ——返回一个字符串情况二:HTML标签包裹数据返回 ——》浏览器返回,查看情况三:HTML标签包裹数据+ CSS样式 ——》浏览器返回,查看有前面可以知道,我们可以给浏览器返回html + CSS +JS 格式的字符串,但是这种情况过于麻烦,因此, 可以直接返回一个html + CSS +JS的文件示例:在HTML中, 和 是两个常用的通用容器元素,用于组织和样式化内容。它们的主要区别在于默认显示方式和
2025-06-04 10:28:15
191
原创 MySql数据库连接池
MySql安装以及QT、VS连接数据库。这里提醒大家一点,如果配置环境之后,依旧无法运行程序,那么可能是缺少安全模块的动态库,其实这个库文件就是openssl的动态库,我们无需自己安装,官方是有提供的。首先打开官网下载地址:https://dev.mysql.com/downloads/下载使用C++连接数据库需要的组件(建议下载和本地 mysql 动态库一致的版本):可以根据自己的实际需求选择安装版或者绿色版以及32bit或64bit。
2025-05-20 15:02:26
628
原创 Qt中解决Tcp粘包问题
这里用到的子线程,因为主线程时ui线程,主要用于ui界面窗口的操作,子线程进行数据操作,这里子线程时负责Tcp套接字通信的。由于套接字对象是不可以在主线程和子线程中进行传递的,所以只好传递文件描述符,重写了。另外需要注意,在进行数据封包的时候,在加上数据长度之前,要进行大小端的转换,主函数依旧不变动,与创建时保持一致。其中为了避免Tcp通信中的粘包问题。主函数中的代码不动,和创建时一样。子线程中进行文件发送的类。并且在Qt中增加网络模块。并且在Qt中增加网络模块。子线程中用于接受数据的类。
2025-05-20 08:49:30
702
原创 MySQL安装(含QT连接)以及API解析
去MySQL官方下载最新版的mysql,地址如下:目前的最新版本是8.0.40,将安装包下载到本地,直接安装即可。安装 MySql 第一步,建议选择自定义安装,这样就可以选择安装的版本和设置安装路径了。在向导的第一步,选择自定义安装。在向导的第二步需要选择安装的版本,官方一共提供了三个稳定版本:8.0 、5.7、 5.6,这里我们选择安装最新版本。注意:通过截图可以看出,在8.0版本中没有提供32位版本,只有64位版本。在选择版本的时候此处一定要注意一个细节:修改完mysql的安装目录之后( 目录名多个
2025-04-21 16:55:45
1197
原创 QT系列(五)
在进行桌面应用程序开发的时候, 假设应用程序在某些情况下需要处理比较复杂的逻辑如果只有一个线程去处理,就会导致窗口卡顿无法处理用户的相关操作。这种情况下就需要使用多线程,其中一个线程处理窗口事件其他线程进行逻辑运算,多个线程各司其职,不仅可以提高用户体验还可以提升程序的执行效率。默认的线程在Qt中称之为窗口线程,也叫主线程,有时候也称之ui线程负责窗口事件处理或者窗口控件数据的更新子线程负责后台的业务逻辑处理,子线程中不能对窗口对象做任何操作,这些事情需要交给窗口线程处理。
2025-04-15 19:52:49
947
原创 C语言之网络编程
源端口:表示发送端端口号,字段长 16 位,2个字节,取值范围为0~65535目的端口:表示接收端端口号,字段长 16 位,2个字节,取值范围为0~65535序号(sequence number、也就是seq):字段长 32 位,占4个字节,序号的范围为 [0,4284967296]。由于TCP是面向字节流的,在一个TCP连接中传送的字节流中的每一个字节都按顺序编号首部中的序号字段则是指本报文段所发送的数据的第一个字节的序号,这是随机生成的。序号是循环使用的,当序号。
2025-04-10 14:55:11
833
原创 C++之MySQL 安装以及API解析
数据库是一个有组织的集合,用于存储和管理数据的系统。它是一个软件系统,被设计用来存储、检索和管理数据,并提供数据的快速访问和处理。数据库可以被看作是一种特殊的文件系统,但与传统的文件系统不同的是:它能够更加高效的存储和管理大量结构化数据。数据库主要由数据库管理系统(DBMS)和数据库组成。数据库管理系统(DBMS):数据库管理系统是数据库的核心组成部分。它是一种软件系统,用于管理数据库的创建、维护、访问和操作。
2025-04-10 14:52:43
68
1
原创 CMake教程
在上面的例子中一共提供了5个源文件,假设这五个源文件需要反复被使用,每次都直接将它们的名字写出来确实是很麻烦,此时我们就需要定义一个变量,将文件名对应的字符串存储起来,在cmake里定义变量需要使用set。注意:定义变量的时候,默认存储的是字符串,即使是定义的是 "123"这样的。# SET 指令的语法是:# [] 中的参数为可选项, 如不需要可以不写VAR:变量名VALUE:变量值# 方式1: 各个源文件之间使用空格间隔# 方式2: 各个源文件之间使用分号;间隔div.c;main.c;
2025-04-10 14:51:30
968
原创 QT系列(三)
打开QT的设计窗口,我们可以看到QT给我们提供了以下的控件类型其中布局控件Layout、弹簧控件Spacers已经在前面的系列文章二中介绍,本文章主要介绍的是按钮Buttons、容器Containers。后续会介绍输入类型窗口以及展示类型的窗口另外由于QT框架中的API函数和控件类很多,不可能一一记住,因此必须学会查看说明文档当我们需要学习使用一个类的时候,通常先关注槽函数、信号函数、其次再关注一些成员方法文章中主要介绍了Qt中常用的按钮控件, 包括:QCheckBox。
2025-03-31 16:02:38
588
原创 QT系列(二)
函数允许你控制部件如何处理上下文菜单事件,从而实现不同的右键菜单行为。你可以选择使用默认行为、禁用菜单、显示关联动作,或者完全自定义菜单内容。显示自定义按钮在Qt中,是一个常用的对话框类,用于显示消息、警告、错误等信息。默认情况下,提供了一些标准的按钮(如OkCancel等),但你可以通过自定义按钮来满足特定的需求。以下是一个示例,展示如何在中显示自定义按钮:// 创建一个 QMessageBox 对象msgBox.setWindowTitle("自定义按钮示例");
2025-03-22 10:20:35
907
原创 QT系列(一)
是一个跨平台的C++应用程序开发框架具有短平快的优秀特质: 投资少、周期短、见效快、效益高几乎支持所有的平台, 可用于桌面程序开发以及嵌入式开发有属于自己的事件处理机制可以搞效率的开发基于窗口的应用程序Qt是标准 C++ 的扩展, C++的语法在Qt中都是支持的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,可以快速上手Qt 提供了一种称为 signals/slots 的安全类型来替代 callback(回调函数),这使得各个元件 之间的协同工作变得十分简单。
2025-03-11 10:37:56
1155
原创 C++之多线程(Linux篇)
在创建的锁对象中保存了当前这把锁的状态信息:锁定还是打开。如果是锁定状态还记录了给这把锁加锁的线程信息(线程ID)。一个互斥锁变量只能被一个线程锁定,被锁定之后其他线程再对互斥锁变量加锁就会被阻塞,直到这把互斥锁被解锁,被阻塞的线程才能被解除阻塞。一般情况下,每一个共享资源对应一个把互斥锁,锁的个数和线程的个数无关。
2025-01-12 12:20:21
858
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人