- 博客(101)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
转载 思科九年
第1节:思科九年(1)序南半球的二月是盛夏。这里白天的阳光炽烈而持久,四处都是耀眼的惨白。电视里的广告说皮肤癌是这个国家的国癌,提醒人们小心这厉害的阳光:要穿长袖的衣服待在阴凉的地方,要戴墨镜涂防晒霜。即便如此,海边的沙滩上还是躺满了裸露大片皮肤晒日光浴的各色人种。他们慵懒地躺着趴着,戴着墨镜看书或者睡觉。他们的孩子在水边嬉戏,他们的狗在四处奔跑。海浪一层层涌来,冲浪者和他们的冲浪板在浪中时隐时现。我也半躺在沙滩上,看着儿子和一帮白人小孩玩耍。偏光墨镜里的天空幽蓝深邃,海水的颜色是那种厚重的蓝灰色,洒
2020-07-10 09:06:58 28184 1
转载 从dig命令理解DNS
DNS(Domain Name System,域名系统),是一种用于将域名解析为IP的服务器系统,当你上网时输入一个网址,它之所以能够找到该网址指向的服务器地址,都是靠域名系统来进行解析的。先来讲讲域名。以华工官网为例 www.scut.edu.cn,一个域名,其实是从最右端开始逐层向下的,也就是说.cn是最高级的域名,往下才是.edu,然后到.scut,最后www是华工网站服务器的主机名,通过这样一层一层就能找到你需要访问的服务器地址。当我们输入一个网址时,DNS帮我们找到这个网址对应的服务器的过程是
2021-05-20 16:51:28 1262
转载 awk通过getline或system来调用shell的命令
getline通过在awk内使用管道,可以把shell命令的输出传送给awk$ awk ‘BEGIN{ “date” | getline date; print date; }’Sun Mar 8 22:21:52 2009注意:awk ‘BEGIN{“date”|getline d;print d;close(“date”)}’(close(“date”))执行完一个命令,最好立即调用close(command))awk ‘BEGIN{while(“ls”|getline ls)print l
2021-05-20 16:14:02 1009
转载 Qt的三大窗口dialog、widget、mainwindow区别简介
一、dialog有exec函数,如果是dialog窗口,后边的窗口时不可选的;这个dialog窗口只是为了给人们提供更好的可视化操作,但是对于程序员而言,这个操作并不是立刻执行的;而是当在窗口选择关闭后,才将选择的结果返回给后台,后台才可以根据选择的结果进行相应的操作。二、widget主要是在上面放置布局和控件;所有用户界面对象的基类。窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件可以
2021-03-26 10:49:28 4228
原创 QT之模态与非模态
模态对话框:简单一点讲就是在弹出模态对话框时,除了该对话框整个应用程序窗口都无法接受用户响应,处于等待状态,直到模态对话框被关闭。这时一般需要点击对话框中的确定或者取消等按钮关闭该对话框,程序得到对话框的返回值(即点击了确定还是取消),并根据返回值进行相应的操作,之后将操作权返回给用户。这个时候用户可以点击或者拖动程序其他窗口。说白了就相当于阻塞同一应用程序中其它可视窗口的输入的对话框,用户必须完成这个对话框中的交互操作并且关闭了它之后才能访问应用程序中的其它窗口。其实模态对话框的作用就是得到用户选择的
2021-03-26 10:47:08 1249
转载 QWidget派生类对象作为子窗口背景样式如何设置生效(父窗口设置了样式)
在项目中,我们经常需要自定义一个继承Qwidget派生类的类,当这个类的对象为独立窗口时,一点问题都没有。当我们作为子窗口时,qt会自动将子窗口的背景设置为透明(其他控件均显示),同时这个子窗口的setStyleSheet方法是无效的。有的方法就是重写paint函数或者用画笔brush一个rect的背景色,但是他们都比较麻烦同时不是很好用。解决方案:setStyleSheet("background-color:rgb(0, 255, 127);color:red;");setAttribute(Qt
2021-03-24 09:37:09 452
原创 LIBS+=到底如何用!
语法是 LIBS+= -L直接打地址 -l直接打库名注意点:-L后面没有空格,直接跟着地址,然后空格,-l后面是去掉lib之后的文件名。一个例子:如我们有E:\CLibraries\NewmatL\debug\libNewmatL.a这个文件,则:LIBS += -LE:\CLibraries\NewmatL\debug\ -lNewmatL或者如果需要编译的pro在E:\CLibraries\TEST-build-desktop下,则可以:NEWMAT_ROOT = …\NewmatLLI
2021-03-22 16:25:39 4237
转载 STL容器遍历删除时erase操作(iter++)
我们知道STL中结点类容器(如:list,hash_map)遍历时进行删除时,需要这样做:for(list::iterator iter = m_list.begin(); iter != m_list.end(); ){if(需要删除){m_list.erase(iter++);}else++iter;}而不能这样:for(list::iterator iter = m_list.begin(); iter != m_list.end(); ++iter){if(需要删除){
2021-03-09 09:46:30 1338
原创 QT/Linux常见错误总结(不定期补充)
工作一段时间后发现在平时隔一段时间总会遇到一些重复的问题,但是又记不清具体的解决办法,只能再一次去百度查找解决方法,耗时而且效率低,所以今天起就将自己日常中遇到的一些问题进行总结分析,加深印象的同时也为以后做准备。**问题总结分析列表:**问题:1.已经包含头文件,仍然出现错误“未声明的标识符”。解决方案:1.引入头文件是有顺序之分的,不能随意的放置头文件,位置也要放正确。2.可能在文件拷贝或者移动过程中,对应的变量在不同的编码情况下会出现不可见的字符修改,直接相关的变量的声明删掉重新定
2021-02-22 15:22:55 856
原创 非配合式活体检测方法简介
活体检测配合式是通过用户一些简单的动作(点头摇头等)进行检测,但是这个对用户的体验不太好,非配合式活体检测相对更加灵活,非配合式活体检测对算法要求更高,对用户体验也更友好。非配合式活体根据成像源的不同,一般分为红外图像、3D 结构光和 RGB 图像三种技术路线,这三种路线又根据应用场景不同而各有优劣。一、红外图像活体检测基于红外图像的活体检测,需要用到红外摄像头。红外图像滤除了特定波段的光线,天生抵御基于屏幕的假脸攻击。不管是可见光还是红外光,本质都是电磁波。物体成像与其表面材质的反射特性有关。真实人脸
2021-02-03 10:52:26 665
原创 QTimer用法(固定某一时间点启动)
今天遇到一个需求,就是每晚12点定时查询数据库信息并判断是否进行删除。刚开始设计就是简单的思路:每分钟启动一次定时器,判断当前时间是否为对应时间,是否进行相关操作,伪代码如下: m_timer = new QTimer(this); // true 单次触发,false 多次触发 m_timer->setSingleShot(false); //每分钟调用一次 m_timer->start(1*1000*60); //定时器触发信号槽
2021-02-01 16:01:53 1532
转载 C++之Lambda表达式
1. 概述C++ 11 中的 Lambda 表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda 的语法形式如下:[函数对象参数] (操作符重载函数参数) mutable 或 exception 声明 -> 返回值类型 {函数体}可以看到,Lambda 主要分为五个部分:[函数对象参数]、(操作符重载函数参数)、mutable 或 exception 声明、-> 返回值类型、{函数体}.2. Lambda 语法分析2.1 [函数对象参数]标识一个 Lambda 表达式的
2021-02-01 15:47:37 385
转载 QT中QString 格式化 arg前面自动补0
如这样的字符串: 00:01:23将3个int转化为字符串时,使用arg的其它参数;代码如下:QString str = QString("%1:%2:%3").arg(0,2,10,QLatin1Char('0')).arg(1,2,10,QLatin1Char('0')) .arg(23,2,10,QLatin1Char('0'));arg中第二个参数表示字符串的位数,第三个参数表示int的进制,第4个参数表示自动补全的字符;如,改为:QString str = QString("%1:%
2021-01-26 15:41:53 825
转载 QT工程pro文件TEMPLATE变量说明
QT工程pro文件模板变量(TEMPLATE)模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:app - 建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。lib - 建立一个库的makefile。vcapp - 建立一个应用程序的Visual Studio项目文件。vclib - 建立一个库的Visual Studio项目文件。subdirs - 这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成ma
2021-01-20 10:10:45 562
原创 C++栈上和堆上创建对象的区别
在C++中类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A* p=new A(),Ap=(A)malloc();静态建立一个类对象,是由编译器为对象在栈空间中分配内存,通过直接移动栈顶指针挪出适当的空间,然后在这片内存空间上调用构造函数形成一个栈对象。动态建立类对象,是使用new运算符将对象建立在堆空间中,在栈中只保留了指向该对象的指针。栈是由编译器自动分配释放 ,存放函数的参数值,局部变量的值,对象的引用地址等。其操作方式类似于数据结构中的栈,通常都是被调用时处于存储空间中,调用完毕
2021-01-14 10:37:44 2475
原创 QT样式表StyleSheet(QSS)的使用与加载
1、相关链接官网的样式表链接:http://doc.qt.io/archives/qt-4.8/stylesheet.html各种控件的样式:http://doc.qt.io/archives/qt-4.8/stylesheet-reference.htmlQSS语法:http://www.w3school.com.cn/css/css_syntax.asp使用样式表的3种方法:《Qt 之 样式表的使用——设置样式的方法 》https://blog.csdn.net/goforwardtostep/
2021-01-14 09:55:40 2683
原创 几个简单的基本的sql语句
选择:select * from table1 where 范围插入:insert into table1(field1,field2) values(value1,value2)删除:delete from table1 where 范围更新:update table1 set field1=value1 where 范围查找:select * from table1 where field1 like ‘%value1%’ —like的语法很精妙,查资料!排序:select * from ta
2021-01-13 14:30:56 225
原创 QT之QElapsedTimer计时
QElapsedTimer提供了一种快捷的计算流逝时间的方法。它通常被用来计算两个事件或操作之间过去了多久。并且,该类的方法非常类似于我们之前讲过的QTime类的三个计时函数,所以,我们可以很快速的在使用这两个类的代码之间进行移植。但是,不像QTime,QElapsedTimer会尽可能的使用某种单调时钟。这也就意味着,系统时间的修改对它不会产生影响,同时也没办法将QElapsedTimer对象转换成人类可读的时间格式。这个类主要的使用方法就是测量一个操作耗时多久,例子如下: QElapsedTime
2021-01-13 11:19:13 2839
原创 QConcurrent、QFuture和QFutureWatcher
QFuture:QFuture类代表了一个异步调用的结果。而这个异步调用需要使用Qt Concurrent架构的API。QFuture让线程可以通过某个后期产生的结果来实现同步。这个结果可以是任何拥有默认构造函数和拷贝构造函数的类型。如果这个结果在调用其result(), resultAt(), 或者 results()方法时还没有准备好,QFuture将会一直等到结果准备好。可以通过它的isResultReadyAt()方法来检测结果是否准备好。对于QFuture对象需要准备多个结果的情况,其resu
2021-01-13 10:56:08 1041 1
转载 路径中的“\”和“/”以及相对路径和绝对路径
1.路径中使用斜杠/和反斜杠\的区别Unix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符。Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为路径分隔符。所以目前windows系统上的文件浏览器都是用 反斜杠\ 作为路径分隔符。随着发展,DOS系统已经被淘汰了,命令提示符也用的很少,斜杆和反斜杠在大多数情况下可以互换,没有影响。知道这个背景后,可以总结一下结论:(1)浏览器地址栏
2021-01-13 10:21:27 3177
原创 QT中文件读取和保存
QImage类提供与硬件无关的图像表示,允许直接访问像素数据,并可用作绘图设备。Qt提供了四个用于处理图像数据的类:QImage,QPixmap,QBitmap和QPicture。 QImage专为I / O和直接像素访问和操作而设计和优化,而QPixmap专为在屏幕上显示图像而设计和优化。 QBitmap只是一个继承QPixmap的便捷类,确保深度为1.最后,QPicture类是一个记录和重放QPainter命令的绘图设备。因为QImage是QPaintDevice子类,所以可以使用QPainter直
2021-01-11 16:07:03 1995
转载 qt split() 使用
定义和用法split() 方法用于把一个字符串分割成字符串数组。示例String a[]=str.split(",");//把str这个字符串用逗号“,”进行分割,分割后的字符串数组放在a[]中,比如 111,222,333 那么a[0]=111 a[1]=222 a[2]=333...
2021-01-08 16:33:18 3236
转载 项目发布Debug和Release版的区别
一、Debug和Release的区别Debug:调试版本,包含调试信息,所以容量比Release大很多,并且不进行任何优化(优化会使调试复杂化,因为源代码和生成的指令间关系会更复杂),便于程序员调试。Debug模式下生成两个文件,除了.exe或.dll文件外,还有一个.pdb文件,该文件记录了代码中断点等调试信息Release:发布版本,不对源代码进行调试,编译时对应用程序的速度进行优化,使得程序在代码大小和运行速度上都是最优的。(调试信息可在单独的PDB文件中生成)。Release模式下生成一个文件.
2021-01-06 15:24:41 249
转载 QT重绘之update和repaint详解
Qt里面的重绘和Windows编程里面的重绘差不多。但是Qt的重绘更有特色,更加智能。在讲之前,先说说paintEvent()paintEvent()是一个虚函数槽(slot),子类可以对父类的paintEvent进行重写。当调用update(),repaint()的时候,paintEvent()会被调用,另外,当界面有任何改变的时候,paintEvent()也会被调用,这种界面的改变包括界面从隐藏到显示,界面尺寸改变,当然还包括界面内容改变的时候会被调用。paintEvent()是已经被高度优化过的函
2021-01-03 15:04:31 959 1
原创 Linux中Ctrl+z跟Ctrl+c的区别
Ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.Ctrl+c是强制中断程序的执行。Ctrl+z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态。用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务。bg命令把被中断的任务放在后台执行。例如:当你vi一个文件是,如果需要用shell执行别的操作,但是你又不打算关闭vi,因为你得存盘推出,你可以简单的按下Ctrl+z,shell会将vi进程挂起~,当你结束了那个shell操作之后,你
2020-12-21 17:58:22 269
转载 QString::number()
1.写在前面Qt提供非常多使用的工具类,如排序、类型转换、格式转换等。如果是经常使用则信手拈来,否则间隔时间长了,很基础的工具类都需要查看文档或者百度。所以做个言简意赅的记录笔记,增加印象同时方便查阅。2.QString::numberQString::number是将数数字(整数、浮点数、有符号、无符号等)转换为QString类型,常用于UI数据显示。查看API接口,number提供如下几种类型的转换,适合各种场合调用。static QString number(int, int base=10)
2020-12-16 15:45:11 31072 2
转载 qt:dialog的accept()概念
本篇,会重点讲述模式对话框,以及exec()的用法,accept()和accepted的概念。一.非模式对话框非模式对话框是和同一个程序中其它窗口操作无关的对话框。在字处理软件中查找和替换对话框通常是非模式的来允许同时与应用程序主窗口和对话框进行交互。调用show()来显示非模式对话框。show()立即返回,这样调用代码中的控制流将会继续。在实践中你将会经常调用show()并且在调用show()的函数最后,控制返回主事件循环。非模式对话框,说白了,就像你打开了好几个QQ聊天窗口,每个聊天窗口都是一个非
2020-12-16 14:45:29 4258
原创 Qt5之Lambda表达式
c11新特性中加入了lambda表达式,所以Qt 也支持,只需在.pro文件中加入CONFIG += c++11直接上代码: #include<iostream>using namespace std;int main(){int a = 1;int b = 2;auto func = [=, &b](int c)->int {return b += a + c;};return 0;}我第一次看到上面的代码,是懵逼的,不少人应该和我一样。要是看得懂的
2020-12-06 16:42:15 302
转载 C++编译错误 error:cannot allocate an object of abstract type
错误:无法分配对象的抽象类型原因:在基类中声明的虚函数,没有在继承类中继承、实现。解决:将基类中声明的虚函数在继承类中继承实现,就可以new一个派生类了。
2020-12-04 18:04:17 1716
转载 Qt构建、运行、qmake的区别
qmake:根据实际环境创建项目文件.pro 并且运行qmake生成适当的Makefile。构建:构建是增量编译,只编译有变化部分。重新构建:是把所有部分都重新编译。运行: 有改动则根据已有的Makefile进行编译,执行;构建和重新构建时如果没有Makefile,会根据.pro文件等生成Makefile后再编译所以运行顺序应该是:qmake-构建-运行...
2020-12-03 16:37:12 1554
转载 MiniUI、Easyui、layui与Bootstrap对比
MiniUI、Easyui、layui与Bootstrap对比最近要做一个后端的系统,boss让找个框架给他,顺道就写了一个这个。首先声明一下自己并不是专门做前端的不对的地方请评论指出,而且大多此文章以表格为中心进行说明的。MiniUI一个基于jquery 的框架,开发的界面功能都很丰富。它能缩短开发时间,减少代码量,使开发者更专注于业务和服务端,轻松实现界面开发,带来绝佳的用户体验。使用MiniUI,开发者可以快速创建Ajax无刷新、B/S快速录入数据、CRUD、Master-Detail、菜单工
2020-12-02 16:36:39 3075
转载 SSM框架介绍
SSM框架简介SSM框架,是Spring + Spring MVC + MyBatis的缩写,这个是继SSH之后,目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。1.Spring简介Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Sprin
2020-12-02 16:31:13 260
转载 MVC框架介绍
MVC的全拼为Model-View-Controller,最早由TrygveReenskaug在1978年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式,是为了将传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中而设计的。MVC结构提供了一种按功能对各种对象进行分割的方法(这些对象是用来维护和表现数据的),其目的是为了将各对象间的耦合程度减至最小。现在的MVC结构中,模型(Mod
2020-12-02 16:27:22 495
转载 JavaEE是什么?
JavaEE:Java语言在企业级开发中使用的技术规范的总和,一共规定了13项大的规范1、JDBC(java Database Connectivity): JDBC API为访问不同的数据库提供了一种统一的途径,就像ODBC一样,JDBC对开发者屏蔽了一些细节问题,同时,JDBC对数据库的访问也具有平台无关性。生活实例:我们的粮仓,一般会配一个仓库管理员,对于仓库的事,找他就行,他拿着钥匙,和保存各个仓库的具体数据信息!2、JNDI(Java Name and Directory Interface
2020-12-02 15:56:09 265
转载 SVN客户端--TortoiseSVN使用说明(转)
TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具。通过使用它,我们可以可视化的管理我们的版本库。不过由于它只是一个客户端,所以它不能对版本库进行权限管理。TortoiseSVN不是一个独立的窗口程序,而是集成在windows右键菜单中,使用起来比较方便。 TortoiseSVN每个菜单项都表示什么意思01、SVN Checkout(SVN取出) 点击SVN Checkout,弹出检出提示框,在URL of repository输入框中输入服务器仓库地址,在Checkout di
2020-11-30 15:31:06 519
转载 Qt Creator编译,存在中文导致错误: error: C2001: 常量中有换行符
文章目录 问题简述 解决方法1:不使用英文 解决方案2:改变文件编码 解决方案3:使用偶数个中文或者奇数个中文最后加一个英文的点"."问题简述今天在跑别人的Qt程序时遇到了问题,编译时报了如下这些错误:1 error: C2001: 常量中有换行符2 error: C2062: 意外的类型“bool”3 error: C2065: “flag”: 未声明的标识符4 error: C2143: 语法错误: 缺少“)”(在“return”的前面)5 error:
2020-11-25 10:39:38 934
原创 Linux中Bin文件压缩包解压运行
1.在对应的网址下载获取相关bin文件压缩包文件。2.使用快速连接的方式,通过SecureCRT的SSH协议来连接对应的终端(192.168.X.X)。3.连接成功后点击SecureFX按钮进行文件传输界面。4.进入到SecureFX界面之后点击左上角的文件按钮,然后在列表中选择手动上传选项。5.然后选择对应的源目录和目的目录,选择传输的类型(一般都是二进制)。6.传输成功之后在对应的文件夹中使用unzip xxx.bin -o -d /XXX命令将对应的BIN文件压缩包解压到想要的目录
2020-11-19 11:36:53 6297
原创 MSVC与MinGW的区别
Qt 中有两种方式编译,一种是MinGW ,另一种MSVC。MSVC是指微软的VC编译器。MinGW是指是Minimalist GNU on Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时库。它们都是很好用的编译工具,但是它们兼容的并不好。当你的项目使用MinGW编译的使用,想要用一个MSVC编译生成的库时就会有问题。使用MinGW编译项目的时
2020-11-18 10:00:56 12486 2
原创 空格键删字符解决办法
Word有两种输入模式:插入模式和改写模式。当Word处于改写模式时,当按下一次空格键,都会将光标后面的内容进行逐一改写,也就是替换为了空按空格键,这时输入的空格就会把其后面的字符改为空白,即感觉后面的字符被删除了。解决方法:将改写模式切换为插入模式。可以通过两种方法,把改写模式变为插入模式。1、在Word页面的状态栏上,单击改写,就将改写模式转为插入模式并显示为插入,如图所示;2、在键盘的功能区,按 Insert键,可以把改写模式变为插入模式即可,如图所示。...
2020-11-16 16:24:14 4673 1
转载 Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
在Qt中设置widget背景颜色或者图片方法很多种:重写paintEvent() , 调色板QPalette , 样式表setStyleSheet等等。但是各种方法都有其注意事项,如果不注意则很容易陷入麻烦中。1:setStyleSheet()这个函数我一直很喜欢使用,因为只要写一句就可以实现效果,比其他方法都简单,但是其却有一个很值得注意的地方,也就是这个地方让我大吃苦头。即:①:该函数只能用于设置有父窗口的子窗口的背景!如果一个窗口没有子窗口,则无法使用该函数来设置背景颜色或图片!!②:同时:
2020-11-13 17:42:00 1492
USB2.0标准文档的Feedback(反馈)的部分问题?
2020-07-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人