- 博客(10)
- 收藏
- 关注
转载 SDL结合QWidget的简单使用说明(2)
上篇主要讲了针对yv12流数据的渲染,但有时候我们显示视频还要求加一些信息,比如头像,昵称等等。一般的想法是在渲染窗口之上做一个小控件来负责;但是很遗憾,你会发现你的控件被SDL的渲染完全遮住了,渲染的原理并非是在本窗口的刷新做,而是另外有一层负责,这也是为什么上篇强调一定要setUpdateEnabled(false)的原因那么只有考虑再渲染层直接把图片文字贴出来的办法。这么简...
2018-10-07 01:51:00 245
转载 C++引用详解
1. 引用的实现原理引用一般的概念称为变量的别名,定义的时候必须初始化绑定一个指定对象,且中途不可更改绑定对象,那么引用的原理是怎样的呢?先看一段简单的代码测试class SimpleReference {private: char& m_r;};void PrintSimpleReference(){ std::cout ...
2018-10-04 00:26:00 223
转载 SDL结合QWidget的简单使用说明
SDL(Simple DirectMeida Layer)是一个简单的封装媒体库,功能主要涉及了相关于OpenGL或者DirectX的显卡硬件功能和一些鼠标,键盘等外设访问。这里主要只说明一下它的渲染功能因为Qt本身不支持YUV流媒体数据显示,且QWidget默认是栅格式渲染(qml是默认GPU),用的是CPU,这样如果渲染方面涉及了反走样,优化等数据计算,对CPU的消耗是比较高的,...
2018-04-18 15:04:00 707
转载 Qt::浅谈信号槽连接,参数在多线程中的使用
Qt的信号槽有五种连接方式定义在enum Qt::ConnectionType,下面简单介绍Qt::AutoConnection:自动判断连接方式,如果信号发送对象和执行槽对象在同一线程,那么等于Qt::DirectConnection,如果不是则等于Qt::QueuedConnectionQt::DirectConnection:直接连接方式,简单说就是直接调用,信号发送会在槽...
2018-04-04 10:25:00 438
转载 Qt::带返回值的信号发射方式
一般来说,我们发出信号使用emit这个关键字来操作,但是会发现,emit并不算一个调用,所以它没有返回值。那么如果我们发出这个信号想获取一个返回值怎么办呢?两个办法:1.通过出参形式返回,引用或者指针的方式带回;比如emit sig(int& i)或者emit sig(void* pointer),但是这个方法有一个弊端,稍后介绍第二种方式会提醒。2.通过qt自带的inv...
2017-12-03 22:07:00 1715
转载 Windows:子线程中创建窗口
一般来讲,UI的所有操作都必须在主线程,否则会出现未知错误。但有时候我们会需要一个功能比较单一的窗口,同时希望他在一个单独的线程运行。并不影响主线程的效率。下面说明一下新建子线程创建的新窗口的方法,关键在于在子线程中,有一套自己的事件循环机制,即可脱离主线程单独运行LRESULT CALLBACK WndProc(HWND hWnd, UINT wMsg, WPARAM wP...
2017-11-30 16:42:00 645
转载 Qt:小项目仿QQ修改头像界面,技术点记录
最近写了一个修改头像功能的UI,布局参考了QQ目前的修改头像界面。如下图这里主要说明一下两个地方的技术:1.头像图片上层的遮罩层,圆形外部为灰色,内部为全透明;2.上传图片宽高比例可以通过鼠标拖拽移动图片显示并通过滑动条进行图片大小放缩遮罩层说明遮罩层的处理主要在于怎么在一个透明灰色窗口上擦除出一个透明的圆形。之前使用了QPainter::CompositionMode里...
2017-11-28 15:16:00 709
转载 Qt::QWindow多窗口争抢置顶状态解决方案
有时候我们会有这种需求,自己的桌面程序需要置顶,但是程序包含了很多窗口,可能我们要求窗口1,2都在其它桌面程序之上,但是窗口1必须随时在窗口2之上。Qt提供的置顶方式是在windowsflags上增加标签,setWindowFlags(Qt::WindowStaysOnTopHint);但是针对两个window窗口,当焦点切换的时候两个窗口会互相抢占置顶效果,达不到我们预期的效果。...
2017-11-21 23:58:00 2350
转载 Qt::QWidget 无默认标题栏边框的拖拽修改大小方式
开发环境:win10+vs2015+qt5.9.1背景:开发过程中,一般很少会使用系统提供的标题栏和边框;往往都是自定义一个自己设计的方案。这时候在QWidget中需要加上flag:Qt::FramelessWindowHint(实现方式很容易百度就不再赘述)。但是这样带来的问题就是系统自带的标题栏边框提供的拖拽移动和拖拽修改窗口大小的功能被废弃掉。这样就需要自己实现一个方案来提供这...
2017-10-15 21:12:00 368
转载 Qt:QPushButton 单击、双击响应区分
开发环境:win10+vs2015+qt5.9.1背景:QPushButton的双击事件虽然一直有,但是在双击完成之前,总会响应到单击的事件处理或者连接槽,使用很不方便。自己子类化了一个QPushButton来区分这两种点击事件的处理 1 /* 2 * Description: 分开响应单击和双击的QPushButton 3 * Author: 公子开明 KaiMin...
2017-09-27 14:39:00 2159
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人