
C++
文章平均质量分 90
thinkpadlove
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
键盘响应事件中的连按问题
连按问题在按键响应连按的时候遇到了一些问题即重写了keyPressEvent(QKeyEvent *event)和keyPressRelease(QKeyEvent *event)但是在具体使用调试的时候,连按会出现问题在网上寻找方法之后知道Qt对键盘事件的响应与其他GUI库有一些区别例如我在按下'A'时,会响应一个‘event->key() == Qt::Key_A’事件,在该事件之前调用keyPressEvent( ),在该事件之后调用keyReleaseEvent( )...转载 2020-09-01 14:25:47 · 573 阅读 · 1 评论 -
QT国际化 一 (lupdate/linguits/lrelease)
本文的重点在于QT界面显示的中文化。##1、控制需要翻译的文本在编写QT程序的时候,对于要翻译的文本,应当使用tr()包含起来。 我们先来看看tr函数的原型,注意,这是一个静态函数QString QObject::tr(const char * sourceText, const char * disambiguation = 0, int n = -1)因为Qt中的类都继承自QObject类,所以这里直接使用了tr,如果不是在继承自QT的类中使用,应该用Object::tr(....转载 2020-05-27 17:52:59 · 908 阅读 · 0 评论 -
来自多段线的多边形?(polygon from polyline?)
内容来源于互联网 原文地址https://www.it1352.com/825785.html仅作为学习笔记用I am trying to create a polygon from a polyline automatically So far I am stuck with the proper calculation of the extrapolated sides ...转载 2020-04-29 14:11:20 · 458 阅读 · 0 评论 -
让QGraphicsItemGroup中的item处理自己的事件
简述QGraphicsItem 分组比较简单,但在分组之后 group 中的 QGraphicsItem 无法捕获自己的相关事件(例如:鼠标事件、键盘事件),实际接受消息对象为 QGraphicsItemGroup。那么,如何处理呢?简述 处理方式处理方式处理方式有两种:方式一,也是最简单的一种:void QGraphicsItem::setHandlesChildE...转载 2020-03-27 15:32:07 · 3089 阅读 · 0 评论 -
windeployqt工具来进行Qt的打包发布
Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。问题的提出既然是要发布自己的程序,那么就需要,在Release中编译运行。具体方法如下图所示。1.点击qt界面左下角的图标;2.选择Release;3...原创 2019-12-02 16:30:09 · 274 阅读 · 0 评论 -
三个基于C++-Qt的开源WEB框架
三个基于C++-Qt的开源WEB框架1.tufao项目地址:主页:介绍:Features: 特性2.treefrog-framework项目地址:官网:介绍:Features 特性3. JQHttpServer用到的Qt库有:项目地址性能介绍1.tufao项目地址:https://github.com/vinipsmaker/tufaohttps://github.com/vinipsma...原创 2019-12-02 11:44:39 · 4925 阅读 · 0 评论 -
JQHttpServer是基于Qt开发的轻量级HTTP/HTTPS服务器
JQHttpServer是基于Qt开发的轻量级HTTP/HTTPS服务器原创 2019-11-30 10:46:09 · 1879 阅读 · 2 评论 -
基于QT下的tufao小众型Http服务器环境搭建及demo
基于QT下的tufao小众型Http服务器环境搭建及demo1 Tufao简介2 Tufao版本选择3 环境搭建3.0 下载Qt-MSVC2013 32位3.1 下载Cmake3.2 生成sln解决方案3.3 编译tufao.sln生成dll lib3.4 启动QtCreator 新建GUI项目1 Tufao简介项目地址:https://github.com/vinipsmaker/tufa...原创 2019-11-29 20:50:25 · 1373 阅读 · 1 评论 -
Qt视频框架QtAV构建编译使用
根据张飞online 的优快云博客https://blog.youkuaiyun.com/u013372900/article/details/80924593记录下自己的步骤一:QtAV1 首先说下:如果你的环境是windows,你可以到下面网站看看有没有你的环境,如果有你就可以直接使用,没必要重新编译构建2 .我的环境是Qt Creator 4.0.3 (Community)+qt5.6.3...原创 2019-10-18 20:12:06 · 1147 阅读 · 0 评论 -
IP地址正则表达式
IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用英文句点“.”隔开。例如:某台计算机IP地址为10.11.44.100。分析IP地址的组成特点:250-255、200-249、0-199。 这三种情况可以分开考虑, 1. 250-255:特点:三位数,百位是2,十位是5,个位是0~5,用正则表达式可以写成:25[0-5] 2.转载 2014-09-02 12:07:29 · 1368 阅读 · 1 评论 -
Qt编写的软件在线升级系统(客户端)
程序入口(main.cpp):[cpp] view plaincopy#include #include #include #include #include "Update.h" int main(int argc, char *argv[]) { QApplication a(ar转载 2014-09-12 17:10:39 · 6001 阅读 · 0 评论 -
理解和使用zlib库
理解和使用zlib库作者: 阙荣文日期: 2016.6.2原文链接http://m.blog.youkuaiyun.com/article/details?id=515692740. 很多年以前我曾经写过一篇文章(http://blog.youkuaiyun.com/querw/article/details/1452041)简单介绍 zlib 的使用方法,老实说当时自己都不是转载 2016-12-08 15:44:10 · 2803 阅读 · 0 评论 -
基于obs studio 的源码应用
OBS(Open Broadcaster Software)是一个广泛使用的视频录制直播软件。利用该软件可以实现桌面窗口、游戏、网页、RTMP流、图像等的录制直播。OBS也是一个开放源代码的软件,因此我们可以在源代码的基础上进行修改,来实现我们自己的定制功能。OBS Studio是当前正在维护的版本,老版本叫做OBS Classic。相对老版本而言,OBS Studio在架构上进行了重构,采用微内转载 2017-01-06 11:29:45 · 4143 阅读 · 0 评论 -
QT 5.3.2+OpenCV3.0的安装与配置
QT 5.3.2+OpenCV3.0的安装与配置(win8 64 bit + OpenCV3.0 + minGW32) 原文链接:http://blog.163.com/nuc_baixu/blog/static/25124607820159149235731/小编经过好几天的忙碌,终于将opencv3.0配置到opencv,在这里分享一些经验,避免大家像我一样,在配置转载 2017-01-16 16:32:43 · 2932 阅读 · 1 评论 -
QImage 与 cv::Mat 之间的相互转换
QImage 与 cv::Mat 之间的相互转换原文链接:http://blog.youkuaiyun.com/liyuanbhu/article/details/46662115最近做图像处理方面的项目比较多,很多算法自己从头写的话太浪费时间,而且自己写的也不一定完善,早就听说OpenCV在图像处理算法方面功能很强大,一直没时间学习,这次正好项目用到了,临时抱佛脚学习些OpenCV入门知转载 2017-01-17 15:24:19 · 970 阅读 · 0 评论 -
关于QTableWidget的item所占内存的释放问题
与之前的文章背景类似,还是关于QTableWidget中的数量众多的item所占内存比较多,用完要释放的问题。现在有两个问题:1 是什么时候释放?2 如何释放我们先看第一个问题,因为我现在的程序里面是定期刷新table,每次加载大量的数据,所以如果不清除之前的内存,就会使内存一直申请得不到释放最终导致内存泄露。当次显示完就释放显然不合适,因为item被delete掉后表中的内容就也转载 2017-02-22 14:59:40 · 6807 阅读 · 0 评论 -
OBS源码分析--视频采集显示
OBS如何进行初始化视频采集的:首先,在OBS的初始化程序中,会调用ResetVideo==>AttemptToResetVideo==>obs_reset_video==>obs_init_video==>video_output_open==>if (pthread_create(&out->thread, NULL, video_thread, out) != 0)最后创建了原创 2017-05-11 10:46:20 · 5389 阅读 · 5 评论 -
Qt中“调试器未设置”的解决方法
Qt中“调试器未设置”的解决方法1.问题的提出 QtCreator + Qt5 进行开发。然而,在此过程中,我发现程序按F5可以直接运行。但设置断点进入调试模式时,却弹出“qt 调试器未设置”错误。这个问题的原因是因为没有在Qtcreator中配置调试器导致的。2.问题的解决方案1)从我的百度云http://pan.baidu.com/s/1skMvATR下载Micro...原创 2019-05-09 15:48:42 · 11519 阅读 · 0 评论 -
Qt --------QCombobox组件的使用
方法/事件:属性:样式: QComboBox* m_combox; m_combox = new QComboBox(this); QStringList test = QStringList() mp_combox->addItems(test原创 2012-08-02 16:28:00 · 11509 阅读 · 0 评论 -
Qt编写的软件在线升级系统(服务器端)
给公司开发的软件,每次更新后都要一个个的去帮使用的同事重新安装,很麻烦,所以放下几个bug没有解决,先写了一个升级的小程序。 程序入口(main.cpp):[cpp] view plaincopy#include #include #include #include #include "Serv转载 2014-09-12 17:09:21 · 4234 阅读 · 1 评论 -
Qt编写串口通信程序详解
原文:http://apps.hi.baidu.com/share/detail/6144871(说明:我们的编程环境是windows xp下,在Qt Creator中进行,如果在Linux下或直接用源码编写,程序稍有不同,请自己改动。)(在Linux下写串口通信程序。首先portName应该改为/dev/ttyS0, 然后QextSerialBase::EventDriven需要转载 2013-03-13 14:32:52 · 2947 阅读 · 0 评论 -
C++ 内存管理
一.内存的常见分配方式 1. 从静态区分配,一般是全局变量和static类型变量 2.从栈区分配内存,一般是局部的变量,会随着所在函数的结束而自动释放 3.从堆中分配,一般是使用手动分配,使用malloc()函数和new来申请任意大小空间,不过要手动释放空间,相应的使用free()函数和delete释放, 如果不释放该空间,而且指向该空间的指针指向了别的空间.则该空间就原创 2012-08-08 15:50:27 · 848 阅读 · 0 评论 -
嵌入式软件开发------------------Qt之QSettings类的常用函数
来源与csdn的博客:http://blog.youkuaiyun.com/yhtoo/archive/2011/04/02/6298837.aspx1、用QSettings写注册表QSettings *reg =newQSettings("HKEY_CURRENT_USER\\Software\\yinhaifan", QSet原创 2012-08-07 16:08:38 · 2152 阅读 · 1 评论 -
QT 之 MOC 元对象编译器
Qt 的元对象系统是用来处理对象间通信的信号和槽,它运行信息类型和动态属性。Qt的元对象系统包括以下三个部分的内容:1. QObject 类2 类声明私有段中的Q_OBJECT宏3 元对象编译器元对象编译器读取元对象编译器读取C++源文件时,如果发现在文件中类的声明中含有Q_OBJECT宏,元对象编译器就会给含有Q_OBJECT宏的类生成另一个含有元对象代码的C++源文原创 2012-07-19 16:33:26 · 2507 阅读 · 0 评论 -
Qt ---- 信号和槽
概览:QT 是一个跨平台的 C++ GUI 应用构架,它提供了丰富的窗口部件集,具有面向对象、易于扩展、真正的组件编程等特点,更为引人注目的是目前 Linux 上最为流行的 KDE 桌面环境就是建立在 QT 库的基础之上。QT 支持下列平台:MS/WINDOWS-95、98、NT 和 2000;UNIX/X11-Linux、Sun Solaris、HP-UX、Digital Unix、IB原创 2012-07-19 16:41:52 · 726 阅读 · 0 评论 -
C++的四种cast操作符的区别--类型转换
Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意?A:转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。为了类型转换一个简单对象为另一个对象你会使用传统的类型转换操作符。比如,为了转换一个类型为doubole的浮点数的指针到整型:代码:int i;double d原创 2012-03-07 23:26:36 · 631 阅读 · 0 评论 -
C++ 多态性的浅析
一:组合: 将一个类型x的对象作为公共的对象嵌入到新类型y的对象中间。这样做是很有意义的:①.他意味着x可以成为y的内部实现的一部分,对于新类则不必专门写出模拟x这个嵌入对象的接口,因为直接调用方法操作x对象来的直接有效容易的多。不需要你模拟x的方法还要专门为它设置成员,结构也不清晰。例如class cpu{public: cpu(); ~cpu(); void c转载 2012-03-07 23:21:19 · 618 阅读 · 0 评论 -
深入探讨C++中的引用
引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。我在工作中发现,许多人使用它仅仅是想当然,在某些微妙的场合,很容易出错,究其原由,大多因为没有搞清本源。故在本篇中我将对引用进行详细讨论,希望对大家更好地理解和使用引用起到抛砖引玉的作用。 引用简介 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。原创 2012-03-04 01:12:57 · 482 阅读 · 0 评论 -
引用和指针1
1)引用总是指向一个对象,没有所谓的 null reference .所有当有可能指向一个对象也由可能不指向对象则必须使用 指针. 由于C++ 要求 reference 总是指向一个对象所以 reference要求有初值. String & rs = string1; 由于没有所谓的 null reference 所以所以在使用前不需要进行测试其是否有值.,而使用指针则需要转载 2012-03-04 01:11:24 · 458 阅读 · 0 评论 -
Qt嵌入式软件开发----------QPaintEvent事件的相关理解
void QWidget::paintEvent ( QPaintEvent * ) 如果不了解它的原理,任意找个例子程序你也是很难找到什么时候它被调用的痕迹的。 Paint这个事件只要是窗体部件需要被重绘了就会被调用,是由窗体系统产生的,但要求程序重画窗体部件的时候,事件循环就会从事件队列里面选中这个事件并把它分发到那个需要重画的widget中。并不是所有的p原创 2012-07-31 11:33:34 · 8660 阅读 · 0 评论 -
嵌入式软件开发------QColor类的使用
QColor 类参考QColor用于提供基于RGB,HSV,CMYK等组件的色彩值。Public Types enum Spec { Rgb, Hsv, Cmyk, Hsl, Invalid }公有函数:[cpp] view plaincopyQColor () QColor (转载 2012-08-15 13:44:47 · 4806 阅读 · 0 评论 -
QT生成在Windows下有图标的exe文件(IDE=QT Creator)
我个人十分喜爱QT Creator的IDE界面与操作,但是也许是尚未完全成熟或者是为了代码跨平台,有些功能并没有直接提供。比如Windows下做软件,至少作为主程序或启动程序的exe文件一般都应该有自己的图标,QT Creator虽然可以轻松地设置窗口的小图标,但并没有提供设置exe文件图标的功能。其实做起来并不难。 ·首先当然要准备一个.ico图标文件(假定为my原创 2012-11-21 15:03:05 · 1542 阅读 · 0 评论 -
嵌入式系统软件优化方法
嵌入式系统由于受功耗、成本和体积等因素的制约,嵌入式微处理器的处理能力与桌面系统处理器相比也存在较大差距,故嵌入式系统对程序运行的空间和时间要求更为苛刻。通常,需要对嵌入式应用程序进行性能优化,以满足嵌入式应用的性能需求。1 嵌入式程序优化的类型嵌入式应用程序优化,指在不改变程序功能的情况下,通过修改原来程序的算法、结构,并利用软件开发工具对程序进行改进,使修改后的程序运行速度更高或代码尺原创 2012-10-26 16:24:06 · 1807 阅读 · 0 评论 -
高效率嵌入式程序开发
嵌入式系统对应用软件的质量要求很高,在嵌入式开发中须注意对代码进行优化,尽可能地提高代码效率。虽然C编译器都提供了一定程度的代码优化,但大部分由编译器执行的优化技术仅涉及执行速度和代码大小的平衡,不可能使程序既快又小,因而必须在编写程序时采取必要的措施。本文针对高效率嵌入式程序开发提供了一些编程技巧,对实际系统开发具有重要作用。 关键词:编译器; 程序开发; 代码优化 引言原创 2012-10-26 16:07:11 · 939 阅读 · 0 评论 -
C++编译出现的警告----------taking address of temporary
模模糊糊意识到这是因为引用了临时对象的地址而引发的警报临时对象不可靠……出了赋值语句就消亡了……下次用指针访问很可能会挂的……不知道怎么修改之?原创 2012-10-19 16:02:18 · 12381 阅读 · 3 评论 -
嵌入式软件开发------指针和内存释放的问题分析
指针和内存的问题关于指针分配是否要delete的问题:1.请大家在使用指针变量时遵守以下几点,可以让你们在编程时 少许多的麻烦,以下假设p为某个类型的指针变量。 (1)定义指针: (a)定义指针变量时赋初值为type* p=NULL; 若是指针数组,刚用循环语句集体赋初值为NULL, 或调用api函数Zero转载 2012-08-20 17:34:41 · 2686 阅读 · 0 评论 -
Qt----QPainter的坐标系系统的转换
声明:本文原创于yafeilinux的百度博客,http://hi.baidu.com/yafeilinux 转载请注明出处。我看了这篇文章很好很容易理解。如果看了Qt助手之后更加的形象。前面一节我们讲解了图片的显示,其中很多都用到了坐标的变化,这一节我们简单讲一下Qt的坐标系统,其实也还是主要讲上一节的那几个函数。这里我们先讲解一下Qt的坐标系,然后讲解那几个函数,它们分别是转载 2012-08-29 16:41:40 · 3060 阅读 · 0 评论 -
嵌入式软件开发-----Qt setPen()画笔函数的初步了解
为了尝试画笔的样式,这里故意使用了一个新的画笔: painter.setPen(QPen(Qt::black, 5, Qt::DashDotLine, Qt::RoundCap)); 我们对照着API去看,第一个参数是画笔颜色,这里设置为黑色;第二个参数是画笔的粗细,这里是5px;第三个是画笔样式,我们使用了 DashDotLine,正如同其名字所示,是原创 2012-08-17 16:53:54 · 12242 阅读 · 0 评论 -
C++ 中的关键字-------explicit 修饰构造函数
1、c++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢?如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class MyClass{public:MyClass( int num转载 2012-08-02 09:35:08 · 1456 阅读 · 0 评论 -
深入理解C和指针
深入理解C语言指针奥秘系列文章之一指针的概念指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。先声明几个指针做例子:例一:view plain(1)int *转载 2012-01-03 20:46:39 · 821 阅读 · 0 评论