自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Qt中的信号与槽及其自定义

槽---slot,就是一个普通的成员函数在cpp文件中进行按钮的定义,插入对象树,设置内容,定义槽函数,在h文件中声明槽函数借助ui界面,Qt Designer进行自定义槽函数拖出一个按钮右键点击按钮,选择转到槽选中clicked点击ok后,直接跳转到槽定义函数无需进行connect链接,而是由Qt Creator直接生成可以正常调用Qt中除了通过connect的方式链接信号和槽,还能函数名来链接信号和槽如: void Widget::on_pushButton_clicked()

2025-04-08 16:57:31 555

原创 Qt坐标体系,控件坐标的设置

QPushButton的父控件就是QWidget,QWidget没有父元素,就相当于其父元素就是整个显示器桌面。给Qt的某个控件,设置位置,就需要指定坐标,对应这个控件来说,坐标系原点就是相对于父控件的。Qt窗口坐标体系---平面直角坐标系(笛卡尔坐标系)将button控件进行坐标设置,单位是像素。button位置发生变化,可以理解为。同样可以通过move对窗口进行移动。以左上角为0,0坐标原点。

2025-04-06 14:44:06 156

原创 Qt中的多种输出方式,信号与槽的基本使用

在创建按钮时,自动在ui_widget.h----根据widget.ui文件生成的文件中包含一个QPushButton* pushButton成员,与Designer界面中设置的objectName值一致,在ui文件编译时,会生成一个C++头文件,其中会定义一个Ui::XXX的类,该类包含ui界面中的所有控件的成员变量。ui->pushButton是指向ui文件中创建的控件,在Qt Designer中创建一个控件的时候就会为其分配一个objectName属性,值是唯一的,可以进行修改,表示由谁发送信号。

2025-04-06 13:43:31 475

原创 Qt基础:创建项目,认识对象树,了解编码

认识基本代码含义:ui文件的本质为xml文件----描述程序的界面,qmake会调用相关工具依据xml来生成c++代码,从而构建页面工程文件:----类似于makefile上面的文件都是源代码文件,在编译过程中会生成一些中间文件其中ui_wieght.h就是根据xml文件生成的cpp代码。

2025-04-02 14:48:31 864

原创 C++中的引用(取别名)

基本任何场景都可以引用传参谨慎使用引用作为返回值,出了作用域,引用对象不在了,就不能用引用返回,若为静态变量,就可以用引用返回注意临时变量具有常性的特点。

2025-03-27 15:16:18 258

原创 缺省参数(默认参数)和函数重载

缺省参数是声明或定义函数时为函数的参数指定指定一个缺省值,在调用该函数时,若无指定实参则采用该形参的缺省值,否则使用传入的指定实参。//无指定实参,使用缺省值Func(10);//有指定实参,使用指定实参return 0;C++允许同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表不同(参数个数或类型,类型顺序不同)

2025-03-27 14:40:14 257

原创 C++命名空间

命名空间的使用方法

2025-03-27 14:19:03 168

原创 Mysql连接---语言连接和图形化界面

host是登陆位置,user是创建的mysql用户,passwd是用户对应的密码,db是要访问的数据库,potr是mysql服务器的端口号,unix_socket参数和clientflag设为null和0。可以将MYSQL_RES看作char** 的数组,其中的char**指向的char*指向每一个行数据,有几个char**就有几行,有几个char*就表示有几列(一行有几个数据)。//输出第零列的列名(配和列数进行遍历)因为select后,还需要获取查询到的数据---保存到MYSQL结构体内的结果集。

2025-03-15 15:23:07 1065

原创 MySQL用户管理

grant 权限列表 on 库.表名 to ‘用户名’@’登陆位置’ [identified by ‘密码’];语法:create user ‘用户名’ @ ‘登陆主机/ip’ identified by ‘密码’;create user ‘用户名’@’%’ identified by ‘123456’;set password for ‘用户名’@’主机名’=password(‘新密码’);identified by是可选,若用户存在是修改用户密码,否则是创建用户。也能对表中数据进行修改,插入等操作。

2025-03-15 15:11:10 330

原创 Mysql视图

同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。order by可以用在视图中,但是如果从该视图检索数据select中也含有order by ,那么该视图中的order by 将被覆盖。这张表的内容就是select的查询结果,将其称为视图,便于在高频访问数据时的select简洁化。创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响。在修改原始表中的数据时视图中的数据也会发生修改。可以通过修改视图中的数据来修改原始表中的数据。

2025-03-12 19:56:14 281

原创 Mysql事务

mysql中的事务,事务的提交方式,隔离性,原子性,一致性,持久性,隔离级别,读提交,不可重复读,可重复读,串行化,读未提交,读写并发,undo日志,read view,RR,RC,保存点,自动提交,autocommit,

2025-03-12 19:20:42 1025

原创 Myslq表的内外连接

MySQL表的内连接,左外连接,右外连接

2025-03-08 20:41:25 456

原创 Mysql表的复合查询

多表查询,from子句查询,select子查询,自连接,笛卡尔积,合并查询,多行子查询

2025-03-08 15:55:11 771

原创 Mysql内置函数

mysql日期函数,字符串函数,数学函数,其它函数

2025-03-07 17:18:17 614

原创 MySQL表中数据基本操作

MySQL表中数据的插入,插入否则更新/替换,查询,模糊匹配,更新,删除,插入于查询的组合使用,聚合函数,分组查询

2025-03-06 18:27:07 1017

原创 Mysql表的约束

student表中的class_id就对应class表中的id,因此在学生表中不会出现不属于class表中没有的id,需要MySQL对此进行约束,并且若在学生表中存在class_id为1的学生,则不能对class表中id为1的班级进行删除。primary key:用来唯一的约束该字段里面的数据,不能重复,不能为空,一张表中最多只能有一个主键,但并不意味着一个表中的主键只能添加给一列(一个主键可以被添加到一列或者多列-(复合主键))---主键所在的列通常是整数类型。通常和主键搭配使用,作为逻辑主键。

2025-03-03 16:04:51 754

原创 Mysql数据类型

varchar(L):变长字符串,L表示可插入字符长度,最大长度为65535个字节----实际存储上限与编码有关,utf8中,一个字符3字节,gbk中一个字符2字节,还受用于记录varchar实际中使用字节长度的字符长度影响---一般是1-3个字节---由实际使用字节长度决定。当我们添加枚举值时,也可以添加对应的数字编号。可以插入汉字,一个汉字为一个字符---utf8中一个字符占3字节,当前char类型中的字符与c语言中的字符不同,不论一个汉字/字母都为一个字符,同理,也不能超过可存储长度。

2025-02-27 13:32:46 670

原创 力扣-611.有效三角形个数

2此时,若a+b<c,则若a固定,left到right区间中,b向左不断递减,因为a不变,则这个区间内的b全部不满足在a为此时固定值下a+b<c。若将指向a的left指针向右移动,此时a边要么不变,要么变大,由于剩下两边固定,则一定满足a+b>c,因此,之间将left++,重复第一步,直到left,right相遇时,再移动c边,将其向左移动。因此,当发现a+b>c时,则left到right之间的边全部满足a+b>c。还需判断a+c>b,b+c>a而因为c是最大的一边所以c>=b,c>=a。

2025-02-26 15:01:34 271

原创 Mysql表的操作

---对表中指定一列属性做覆盖修改。---在表中新增一列。在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。对表的操作的sql语句属于DDL-数据定义语言,用来维护存储数据的结构:create,drop,alter。----轻易不要对表进行修改或删除,影响上层使用,需要进行相应修改。

2025-02-25 19:24:33 602

原创 Mysql库的操作

--------从person表中查看name为a的数据------通过数据库的校 验规 则--utf8_gereral_ci进行比较。同时指定编码集,校验规则:create database d4 charset=utf8 collate utf8_gereral_ci;-----区分大小写。如:alter database test2 charset=gbk collate gbk_chinese_ci;-------------------------看历史上创建test2的指令。

2025-02-25 16:39:50 450

原创 力扣算法题-11.盛水最多的容器

输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。此时,height固定,若指针发生移动,因为length不断减小,若heigth不变或变小,则容积一定减小,所以将较小一边的height进行移动。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。同理,记录下此时的容积后,移动较小高度的一边继续寻找,直到两指针相遇。算出所有可能的容积,返回最大值--------会超时。说明:你不能倾斜容器。

2025-02-25 14:58:46 209

原创 力扣算法题-1089.复写零

输入:arr = [1,0,2,3,0,4,5,0]输出:[1,0,0,2,3,0,0,4]解释:调用函数后,输入的数组将被修改为:[1,0,0,2,3,0,0,4]cur位置为零时,dest拷贝零,并将dest处前一个位置也拷贝为零,由于有效值---需要进行拷贝的值始终在cur之前,所以不需要担心将非零元素覆盖。若cur指向为零,这将其移动到dest位置后,再将dest后面的位置也设为零----cur++,dest+=2。cur位置为非零时,dest拷贝cur位置的值---cur--,dest--

2025-02-25 13:28:37 316

原创 数据库基础

它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私尸 商用,还是学术研究使用,可以免费使用,修改和分发。-------------------------------------------------mysql本质上是一种网络服务。数据库一般指的是,在磁盘或者在内存中存储的特定结构组织的数据------将来在磁盘上存储的一套数据库方案。

2025-02-25 10:36:09 852

原创 Mysql安装----ubuntu

rpm -qa | grep mysql | xargs yum remove -----将其交给yum进行卸载。systemctl start mysql -------------启动服务端,默认端口号为3306。rpm -qa | grep mysql -----查看mysql的安装包。mysql 后回车 -------启动客户端,输入quit推出mysql。netstat -nltp ---------查看服务器状态。rpm -qa -----查看系统下的所有安装包。

2025-02-25 10:22:09 271

原创 网络通信简单实现进阶---网络群聊

创建一个聊天室,以ip和端口号来标识用户的唯一性,通过哈希表将IP与套接字联系起来。当有服务端收到一个消息,就将其IP地址与表内的数据进行比对,若不在表内,就在服务端发送新用户上线,IP为x.x.x.x。在发送消息时对表内所存储的所有客户端套接字进行发送,实现群聊效果。

2025-01-22 16:10:28 282

原创 进程优先级

CPU资源分配的先后顺序,就是指进程的优先权,优先权高的具有优先执行的权力。在Linux中可以通过ps -l指令查看进程的优先级及相关信息。如:PRI这一行就是进程的优先权等级,旁边的NI表示进程的nice值,为优先级的修正数值。

2025-01-21 20:14:02 267

原创 网络通信简单实现---ip,端口号,套接字

a.每台主机都有自己唯一的ip地址,如ipv4由4字节,32比特位构成。能在大多时候保证在全网的唯一性来确保我们找到需要进行通信的主机。b.而主机上有许多不同的进程,可以通过端口号来找到需要进行网络通信的进程。对于一台主机上的进程,端口号具有唯一性。c.但是通过pid来标识进程同样具有唯一性,端口号被创建的意义是什么?第一,不是所有进程都需要进行网络间的通信,但是所有进程都要有pid。

2025-01-20 16:20:40 505

原创 网络序列-网络字节序

因此为了解决大小端机器之间的网络传输问题,规定发送的数据必须都是大端,若发送主机是小段,就需要先将数据转换成大端。可以通过调用库函数做网络字节序和主机字节序之间的转换,来使发送的网络数据都是大端,而收到的数据都是小端。同时有大端机和小端机进行网络通信,但他们的存储机制不同,若不进行处理,就无法得出正确的数据。与大端机相反,小端机将数据的低位字节存储在内存的低地址上,高位字节存储在高地址上。大端机字节序是将数据的高位字节存储在内存的低地址是,而低位二字节存储在高地址上。

2025-01-19 19:27:35 273

原创 Linux中的进程状态,僵尸进程与孤儿进程的理解

只要在运行队列中(head与tail之间),等待cpu调度的进程,就是处在运行状态。一个进程在cpu开始执行后,是否执行完毕后才离开cpu?不是,系统为了防止while(1)等死循环,提出时间片的概念。每一个进程都有时间片,一但运行时间超过时间片的限制,就会停止在cpu上的运行,在cpu内寄存器保存其上下文数据,及运行情况(便于下次接着上次运行)后,就将此进程按优先级在等待队列中等待运行队列运行完毕后运行开始等待队列的运行。这种 大量把进程从cpu上拿下放会的动作叫做进程切换。

2024-08-22 18:41:54 1250

原创 Linux中的fork函数及父子进程的理解

在Linux中通过系统调用接口---fork()可以创建新进程。简单介绍fork()函数---头文件为1.返回值:如果fork创建进程成功,则返回子进程的PID给父进程,返回0给子进程;如果创建失败,则返回-1给父进程,无子进程创建。返回类型为pid_t---正整数。

2024-08-21 20:01:18 667

原创 Linux中的代码编辑器,编译器及调试方法

在使用调试器之前,我们需得到debug版本的文件,默认的gcc编译发布的版本为release文件,无法进行调试,需以-g形式编译,来得到debug版本。display---常显示,可以在其后接变量名来在调试过程中常显示变量值及地址,来观察变量的变化。2.在底行模式下输入w可进行代码的保存,输入q可进行代码的退出,也可输入wq保存并退出,插入模式:在命令模式下,键盘输入i,进入插入模式,可以正常进行代码的编写。r---启动当前进程,若无断点,会直接运行到结束,若有断点,会停止在断点处。

2024-08-18 19:08:09 1621

原创 Linux中什么是进程,Linux又是如何对进程管理的?

在Linux中的PCB对象就是task_struct,其内存储着代码和数据的地址,当PCB对象和其代码/数据都在内存中加载完成时,就形成进程。b.在Linux操作系统中,可以同时运行多个进程,通过将不同进程之间链接起来来进行访问。c.因此对进程的管理就变成了对task_struct为节点组成的数据结构的管理。在Linux操作系统中当程序存放进入内存后,就代表其是一个进程。a.Linux通过管理task_struct来控制进程。2.Linux是如何对进程进行管理的?b.将其数据和代码加载到内存中。

2024-08-17 16:58:14 213 3

原创 计算机学习的开始

几年学习,终于有了自己的目标:成为一个能独挡一面的程序猿。现在虽然仍然处在起步阶段但还是有不少收获。 开始学习编程语言的时间并分早晚,但是过晚学习仍会让你落后于他人,此时需要花更多时间放在基础和细节上面。可能别人觉得理所当然的事情会让你反复纠结,我们需要在这种时候懂得孰轻孰重,不能一味死磕,这样才不会影响学习的进度,从而一步落后步步落后。 编程语言是一个需要持续学习的知识,需要由简到难,由浅入深。这个过程

2022-10-15 19:42:01 125 1

空空如也

空空如也

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

TA关注的人

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