- 博客(30)
- 收藏
- 关注
原创 Qt下的TCP通信
TCP通信的Qt实现大概流程Qt中的Socket通信要在.pro工程文件中添加:QT += network服务端(Server)要用到两个Qt的类:QTcpServer和QTcpSocket1、新建QTcpServer对象2、设置监听的客户端端口3、关联连接信号与槽(客户端连接服务器时会触发信号QTcpServer::newConnection())...
2020-04-29 15:56:54
535
原创 Qt 日志信息定向输出之 qInstallMessageHandler
void outputMessage(QtMsgType type, const QMessageLogContext &context, const QString &msg){ // 加锁 static QMutex mutex; mutex.lock(); QByteArray localMsg = msg.toLocal8Bit();...
2020-04-29 11:51:51
563
原创 C++的四种经典排序
1、冒泡排序 //[3,1,4,2,5] 从小到大时间复杂度:O(n^2)空间复杂度:O(1)稳定void bubbleSort(vector<int>& nums){ for(int i=0; i<nums.size()-1; ++i) { for(int j=0; j<num.size()-i-1; ++...
2020-04-15 19:33:00
593
原创 有 n个人围成一圈,顺序排号,从第一个人开始报数,报到 m的 人退出圈子,问最后留下的是原来的几号
这个问题被称为约瑟夫环问题,百度有很多解法,但是难易程度不同,该问题通常没有时间和空间复杂度的限制,比较开放。参考https://blog.csdn.net/weixin_u2172261/artcucle/detailjic86078302的基础上,进行了些许扩展,个人认为比较好理解。int search(int* arr, int n, int m){ int re...
2019-11-19 12:23:16
2270
原创 线程问题
并发(Concurrency)和并行(Parallelism)并发: 宏观上看,多个任务同时执行,微观上看,每一个时刻点仍然只有一个任务在执行并行: 无论宏观还是微观,任务的执行都是同时进行的,且互不干扰单CPU系统中,某一时刻只能处理一个任务,因此要实现多任务同时处理(宏观),需要通过系统进行调度,即在不同的任务之间进行切换(多以时间片轮训为主),这便是并发处理方式...
2019-07-18 13:20:21
152
转载 qt之QSqlQuery类执行SQL语句
https://blog.csdn.net/baidu_33570760/article/details/71740554https://www.cnblogs.com/xia-weiwen/archive/2017/05/04/6806709.htmlhttps://cloud.tencent.com/developer/article/1446020
2019-06-25 13:48:43
410
转载 strcat,strcpy,strncpy,memset,memcpy 总结
https://blog.csdn.net/nyist_zxp/article/details/80982472
2019-06-25 13:20:24
377
转载 QSettings使用方法
一 、QSettings介绍: 用户通常希望应用程序记住其设置。在windows中,这些设置保存在注册表中,ios在属性文件列表中,而unix,在缺乏标准的情况下,其存储在ini文本中。QSettings有两种存储格式:QSettings::NativeFormat(在windows平台可读写注册表)、QSettings::IniFormat(读写ini文件)、QSettings::In...
2019-06-06 17:20:50
20092
5
转载 C/C++中的static关键字详解
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。https://www.cnblogs.com/qintangtao/p/3285937.html...
2019-05-30 17:06:45
240
转载 QMap的简单运用
QMap<Key,T>是Qt容器类型的一种,它通过(Key, value)存储一对值,并通过Key可以查找与之关联的value的值。以QString类型为关键字和,int类型为值的QMap示例:QMap<QString,int> map;运算符[ ]插入一对 (key,value) 到QMap对象中://依次插入了三对值,("one",1), ("th...
2019-05-30 11:02:54
1571
原创 Linux系统下tar的压缩和解压命令
1、压缩与解压:-c :打包-x :解压2、其他:-z :压缩(gzip属性)-v :显示详细过程-f :结尾必须有的参数,后接目标文件名3、压缩为.tar.gz文件:tar -czvf file.tar.gz file4、解压.tar.gz文件:tar -xzvf file.tar.gz更加详细解读参考...
2019-05-29 10:18:19
175
原创 Python学习——2、数据类型
一、标量数字:Number整数: 整数类型 int 长整数类型long小数: 浮点数 float复数: (a+bj)布尔: True / False字符串: String标准字符串(str):单字节字符串ASCIIUnicode字符串:多字节字符串UTF-8decode解码:str字符串----> unicode字符串...
2019-03-08 17:06:34
128
原创 Python学习——1、简介
Python传说也许你不懂Python,但你一定听过Python的传说。传言Python简单易学,可以用来做人工智能,做大数据分析,做web......多数人也是因为这些传说慕名而来,也许出于好奇,也许出于兴趣,也许出于生活所迫......总之,来了。先来看2个TIOBE图TIOBE每个月都会对各种语言的使用情况进行统计,从第一张图可以看出目前Python位居第三,仅次于Ja...
2019-03-08 14:31:49
300
原创 in do_open encode_chunked=req.has_header('Transfer-encoding'))爬虫失败问题
这个问题网上的解决办法都说是导入模块sslimport sslssl._create_default_https_context = ssl._create_unverified_context通过测试结果还是不行,最后发现是网络问题,部分服务器会拦截网络爬虫,公司局域网也会,可以试着用手机开个热点,说不定就可以了...
2019-03-04 17:26:48
1503
原创 脚本是什么?
初次接触“脚本”一词并不知道这一听似非常高大上的东西是什么,尔后逐渐接触,虽有了解,但也没有仔细地总结和思考过,今日百度了一下,在此小小总结。“脚本”其实就是一段代码,一个程序。这与我们学习C语言时,写的第一个“hello world”显示程序没有太大的区别,那为什么这个向程序之神打招呼的“hello world”程序我们不称其为脚本呢?因为“脚本”有这些特别之处:1、脚本语法比较简单...
2019-02-19 15:44:31
33181
转载 Vm虚拟机扩展Ubuntu系统磁盘空间
Vm虚拟机扩展Ubuntu系统磁盘空间前言https://blog.csdn.net/weixin_39510813/article/details/78387334一般我们在安装虚拟机时都会选择默认的20G磁盘空间,但是一旦需要搭建一两个交叉编译环境后,20G的空间就无法满足了,我就是出现了这样的情况,所以也在这里建议大家,如果需要在虚拟机上搭建比较复杂的...
2018-12-20 10:30:31
218
转载 Git push常见用法
转载文章https://www.cnblogs.com/qianqiannian/p/6008140.htmlgit push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,例如 git push origin master:refs/for/master ,即是将本地的master分支推送到远程主机origin上的对...
2018-12-05 11:48:22
1063
原创 QTimer定时器
创建定时器的步骤函数start()参数1:时间间隔毫秒;参数2:是否是单触发定时器(只触发一次),默认参数为false创建QTimer:QTimer* timer = new QTimer(myobj) 将timeout()信号连接到槽:connect(timer, &QTimer::timeout, myobj, &MyObject::dealtimeout) 启动计...
2018-11-28 10:19:28
1001
1
原创 字符编码
纵所周知,计算机只能处理基本的二进制代码,所以对于我们在计算机上需要处理的文本文件,需要将其翻译成二进制的文件,而这就需要对文本中的字符与二进制数进行一一对应,这就是“字符编码”。ASCII计算机是美国人发明的,所以最初他们只需要对英文字母和一些常用的符号(如标点符号等)进行编码。他们以 8bit (位)作为 1byte (字节),可以表示00000000~11111111共256个数。因...
2018-11-21 14:44:55
176
原创 Qt Creator的下载和安装
Qt和Qt Creator的区别Qt是C++的一个库,或者说是开发框架,里面集成了一些库函数,提高开发效率。Qt Creator是一个IDE,就是一个平台,一个开发环境,类似的比如说VS,也可以进行Qt开发,当然VS中的Qt是作为一个插件插入VS平台的。下载Qt Creator下载地址1:https://www.qt.io/download这是官网下载地址,选择开源open sou...
2018-11-08 13:25:00
104185
6
转载 写在最前面
Gerrit是一种免费的、开放源码的、使用网页界面的代码审查软件。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用Git作为底层版本控制系统。它分支自Rietveld,作者为Google公司的Shawn Pearce,原先是为了管理Android计划而产生。这个软件的名称,来自于荷兰设计师赫里特·里特费尔德(Gerrit Rie...
2018-11-07 17:08:37
137
原创 源代码管理
https://www.cnblogs.com/wupeiqi/p/7295372.html作为一个编程小白,从机械转到编程,其中滋味历者自知。编程知识网上很多,但对于很多没有编程语言基础的人来说,那些满是专业术语的文档很难看懂。而刚开始学习编程的我希望能记录自学的点滴,便于巩固和复习,也希望能对困境中的你有点帮助。源代码管理的概念不知大家写毕业设计大论文时的文件目录会不会出现这样的情...
2018-11-07 16:55:49
3274
原创 .cpp程序是怎么被机器识别并执行的
计算机只能识别和执行“010101”这样的二进制数据,而程序员写的程序文件(如cpp等文件)是如何一步一步转化为机器认识的文件的呢?这貌似在“编译原理”这样的一本书中有解释,但是据说并不好懂,非常抽象。计算机语言的发展过程:机器语言(由"0"、"1"组成的二进制代码)——>汇编语言(由一些简单的机器指令集合组成的低级语言)——>高级语言(目前广泛使用的绝大多数语言,包括编译语言...
2018-11-07 16:07:57
457
原创 Qt中的事件处理机制(event)
Qt事件也就是Qt程序中出现的一系列“事情”,包括对用户操作做出反应时发出的鼠标或键盘事件等;以及系统内部自动发出的定时器事件等。总之,出现了这些事件后就需要对这些事件进行处理,处理的方法便是“事件处理机制”。图1 Qt事件产生以用户操作事件为例,其事件处理过程如下图。图2 Qt事件处理过程上述过程通过操作系统和Qt平台的处理,将用户具体的一个操作指令(如鼠标点击)转化为一个Q...
2018-10-19 15:02:32
4127
2
原创 关于使用继承QObject实现多线程的理解——Qt推荐的方法
概念多线程的使用主要是为了处理比较耗时的过程。这可以用以下图来形象地描述:目前,由于继承QObject的多线程实现方法更加灵活,Qt官方推荐使用该方法实现多线程。想用图来描述实现的过程,发现也不好表达,将就着看吧:步骤1、创键一个继承于 QObject 的自定义线程类(如:MyThread),用来盛放比较耗时,需要放入子线程的处理函数定义一个线程处理函数(如:MyW...
2018-10-13 19:07:11
3766
3
原创 QtCreator工程集及子项目的调试方法
工程集的创建Qt开发中为了项目开发的方便,经常需要创建工程集,就是把一些相关的工程项目移到一个大的工程集中,说白了就是创建一个文件夹来将这些项目一起。首先需要创建一个工程集文件.pro:main.proTEMPLATE = subdirsSUBDIRS += \ sub1\ sub2\ ...
2018-09-17 17:40:42
4898
1
原创 QtCreator相关快捷键
QtCreator中的快捷方式进入“工具->选项->环境->键盘”可以查看几乎所有的QtCreator的快捷键或自定义修改相关的快捷方式。1、相关功能键F1:查看帮助F2:声明和定义之间切换F4:头文件和源文件之间切换F5:开始调试Shift+F5:停止调试F9:设置和取消断点F10:单步前进F11:单步进入函数Shift + F1:单...
2018-09-17 14:46:12
542
原创 惠普电脑虚拟技术的开启
u问题来源:虚拟机安装Ubuntu或CentOS等Linux系统时出现“二进制转换与此平台长模式不兼容..........”错误,这是由于VMware Workstation的版本和Linux系统版本不对应导致,例如VMware Workstation可能只支持32位的Ubuntu(好像有同时支持32位和64位的VMware),而你安装的却是64位的Ubuntu,这就会导致上述的错误。解决办法有2...
2018-09-15 11:40:47
8063
3
原创 VMware Tools安装失败之解决方法
首先说一下VMware Tools是个什么东西,为什么要安装它。我的理解是:VMware Tools安装后可以在windows和虚拟机的CentOS或Ubuntu之间自由切换,若不安装,由于windows和Linux之间是两个完全隔离的系统,所以切换较为麻烦,每次从虚拟机到windows都要使用快捷键ctrl+alt,非常麻烦,而且安装这个工具后还可以在两个系统间自由拖拽文件,copy文件等,非常...
2018-09-15 10:41:48
16882
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人