
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
1.使用QFontMetrics 类可是计算出一个字符串的高和宽。QFont font("times", 24);QFontMetrics fm(font);int pixelsWide = fm.width("What's the width of this text?");int pixelsHigh = fm.height();...
用了很久的C++ 了,今天突然被小伙伴问道,构造函数前的explicit 关键字什么作用,于是自己也只能支支吾吾的说出“为了显示调用……”很尴尬啊……典型的知道所以然不知道其所以然……好吧,搜搜资料好好地充充电…… 首先说定义,C++ 中的explicit关键字只能用于修饰只有一个参数的类构造函数,它的作用是表明该构造函数是显式的,而非隐式的。跟他对应的另一个关键字是implicit
QT中使用QPainter 进行自行绘图的时候,为了防止“锯齿”的出现,我们会经常使用抗锯齿属性,也叫反走样, 既:QPainter::Antialiasing//绘图抗锯齿QPainter::TextAntialiasing//绘制的字体抗锯齿QT 只是和很多系统的绘图API一样,提供了抗锯齿的方法,不过抗锯齿的属性默认都是关闭的,QT也不例外。为了直观的理解抗锯齿(反走样)...
一、问题引入这些天在做一个windows客户端软件的二维码登陆需求,使用的是C++的框架+CEF3展示内容(二维码)的架构,其中CEF3仅仅用来展示web写的二维码。开发完成后,在测试和产品老师的电脑上居然二维码是错位的。实际效果如下:(其中二维码所在的白色区域是一个CEF3嵌套web页面,周围的蓝色区域是C++框架)图1是我做好的效果,给产品和测试老师运行的时候,...
对于编程来讲,每种语言都有各自的内存管理机制,他们并不是完全相同。有的语言比如JAVA、H5等无需编程人员关心内存是怎样创建,怎么释放的,系统会对内存自动管理。但是有些语言比如C、C++等,就需要程序员手动进行内存管理,比如需要的时候进行内存申请,不用的时候需要进行手动释放。在C++中,new与delete必须配对使用(既,有一个new,有且只能有一个delete)。delete少了,可能会造成.
平时使用手机软件的时候,经常看到带有动画效果的开关按钮 switch button,效果非常炫。但是使用QT自带的控件并没有实现类似的switch button。如果想要使用,只能我们自己进行自己封装。先看一下效果图:怎么实现呢? 我们这次使用 QWidget 的 paintEvent 来绘制这种效果。 下面分步骤解析一下:我们先分解一下。这个效果。分为3部分,背景(圆角矩形) +滑动...
一、背景QT中线程很早就出现了,多线程的使用目的是为了减轻主线程压力,不至于主线程界面卡顿,提高用户体验。但是线程的创建与销毁需要与系统交互,会产生很大的开销。若需要频繁的创建线程就建议使用线程池,有线程池维护一定数量的线程,当需要进行多线程的运算时,将运算函数传递给线程池即可。线程池会根据可用线程进行任务安排。线程池有什么作用呢?一个作用就是限制系统中执行线程的数量。...
QHeaderView // QTableWidget 标题头整个区域{ background:transparent; // 整个标题头区域背景色}QHeaderView::section // 标题头 每个单独的标题区域{ font-size:14px; // 每个标题的...
一、前言当今互联网时代中,B/S(Browser/Server , 浏览器/服务器)以及C/S(Client/Server , 客户端/服务器)架构已经是绝对的主流软件架构设计方式(除了极少部分的单机软件),它们各有优缺点,这里我们不展开讨论。但是B/S以及C/S架构软件都会有Server,也就是B/S或者C/S中的S,无论是Browser还是Client都必须与Server进行数据交互、传输,.
一、背景QT中线程很早就出现了,多线程的使用目的是为了减轻主线程压力,不至于主线程界面卡顿,提高用户体验。但是线程的创建与销毁需要与系统交互,会产生很大的开销。若需要频繁的创建线程就建议使用线程池,有线程池维护一定数量的线程,当需要进行多线程的运算时,将运算函数传递给线程池即可。线程池会根据可用线程进行任务安排。线程池有什么作用呢?一个作用就是限制系统中执行线程的数量。...







