首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

3D快捷键

快捷键   全局选项:   Alt + 鼠标滚轮 上/下使窗口 透明/不透明   程序切换:  Alt + Tab:在当前工作台中切换窗口  Ctrl + Alt + Tab:在所有工作台中切换窗口  窗口排列(编排并显示所有窗口):上/下  左下角(关键区域):所有工作台(点击一个窗口缩放它到前台)  右上角(关键区域):当前工作台  显示桌面(看当前立体面的桌面):  右下角(关键区域):开/关  立方体旋转:  Ctrl + Alt + 左/右方向键:立体地切换桌面  Ctrl + Shift + Alt + 左/右方向键:把活动窗口移到左/右工作台  Ctrl + Alt + 鼠标左键并拖曳:手动旋转立方体  缩放:  Win + 鼠标右键:缩放一次  Win + 鼠标滚轮 上/下:手动缩放大/小  移动窗口:  Alt + 鼠标左键并拖曳:移动窗口  Ctrl + Shift + 鼠标左键:迅速移动窗口(会粘住边框)  调整窗口大小:  Alt + 鼠标中键  水波效果:  Ctrl + Win + 移动鼠标:关标在水上移动(默认无效)  Shift + F9:雨点降落在你的屏幕上  模糊效果:  在透明窗口下添加一些模糊(会使计算机变慢)  动画效果:  当创建或者关闭窗口时使用动画效果(对菜单也有效,不过你要选择“未知”,只选“菜单”没用)  反色效果:  Win + m:屏幕反色  Win + n:当前窗口反色  反射效果:  给装饰添加一些纹理(当透明时大多数可见)  屏幕截图:  Win + 鼠标左键并拖曳:将所选区域截图(图片保存在桌面)  焦点轨迹效果:  更旧的窗口更加透明  摆动效果:  使窗口丶菜单等像棉花糖  亮度和饱和度:  Ctrl + 鼠标滚轮 上/下:增加/减少 饱和度(对桌面也有效)  Shfit + 鼠标滚轮 上/下:增加/减少 亮度(对桌面也有效)  窗口对齐:  Win + 小键盘1...9:在屏幕中快速对齐一个窗口(1=左下,2=中下,3=右下......)  动态效果减速:Shift+F10

03

Qt编写控件属性设计器2-拖曳控件

上一篇文章把插件加载好了,并且把插件中的所有控件都显示到了列表框中,这次要做的就是实现拖曳控件的功能,用户选择一个控件拖曳到画布上,松开,在松开位置处自动实例化该控件,这个需要用到dropEvent和dragEnterEvent事件,重新实现这两个事件,对拖曳的对象进行过滤并调用函数实例化该控件,在实例化该控件的同时实例化控件跟随控件以便拉伸调整大小和位置。这里需要注意的是dragEnterEvent是必须的,很多人以为拖曳只要实现dropEvent就可以了,其实不行的,没有效果的,需要先dragEnterEvent来过滤好了执行event->accept()才行,不然根本没有效果,很多人尤其是初学者都挂在这里,我就是在这里摔了一跤,好疼!

00

Qt音视频开发23-通用视频控件

在之前做的视频监控系统中,根据不同的用户需要,做了好多种视频监控内核,有ffmpeg内核的,有vlc内核的,有mpv内核的,还有海康sdk内核的,为了做成通用的功能,不同内核很方便的切换,比如pro直接改一个DEFINE的变量名,所以需要将各种内核的使用方法做成一样的接口,这样看起来就很整齐,所以后面特意提炼了一个通用的视频控件,该控件没有具体的视频播放控制功能,需要根据不同的内核去调用具体的方法实现,后面还需要增加大华sdk或者其他第三方厂家的协议的时候,直接套用这个通用视频控件即可,以后增加新的监控内核,可以省下很多工作量,基本上只需要做内核解析就行,其余通用接口和绘制图像直接交给通用视频控件就行。

07

Qt编写安防视频监控系统4-删除视频

一般会有两种处理方式来删除视频,一种是鼠标右键菜单,删除当前视频或者删除所有视频,一种是直接按住当前视频,移到视频通道界面以外就表示删除当前视频,这也是个比较人性化的设置,每个人的喜好不一样,和通道交换功能类似,按住视频拖动到窗体外面表示删除视频,这个功能也需要安装事件过滤器来处理,自动计算当前按下状态下的鼠标是否已经到了窗体外面,按下的时候记住当前视频通道,松开的时候处理删除视频动作即可。删除完成以后同样要立即更新配置文件或者数据库,以便下次应用新的配置,在删除视频的时候,为了保证界面UI的流畅,可以后台慢慢释放资源删除,而不是立即删除,有时候会卡住主界面,体验不好。

02

Qt编写安防视频监控系统40-onvif线程处理

整个onvif模块大部分的功能都有了以后,除了在demo上点点按钮可以执行获取结果显示外,最终还是要应用到视频监控中,在按钮上点点和系统中后台自动运行是两码事,比如onvif校时和事件订阅,不会说是傻到在监控系统界面上提供按钮给用户点击才去执行,最多做的应该是系统设置中提供两个开关比如自动校时、事件订阅,可以方便的开启这几个功能。开启以后等监控系统启动后自动去处理,比如挨个对摄像机进行校时处理以及订阅事件,为了能够做到添加摄像机后自动立即应用,特意改成了在打开摄像机视频画面的时候,主动去实例化DeviceOnvif类(每个摄像机都对应一个实例)

02

Qt编写安防视频监控系统27-GPU显示

之前用ffmpeg解码的时候,已经做了硬解码的处理,比如支持qsv、dxva2、d3d11va等方式进行硬解码处理,但是当时解码出来以后,还是重新转成了QImage来绘制,这样就大打折扣了,尽管可以看到GPU使用率有了,但是依然耗时的操作还是在CPU绘制显示,这就显得很尴尬了,Qt封装了大部分的opengl的操作,直接做成了QOPenGLWidget,既支持ffmpeg解码出来的yuyv格式的数据显示,还支持硬解码出来的nv12格式的数据显示,很好很强大,这样的话就大大减轻了CPU的压力,专门交给GPU绘制,经过这么一番彻底的改造,效率提升至少5倍,不要太牛逼!如果开启了opengl绘制,则对应内存会增加不少,可能opengl绘制需要开辟很多的内存来交换数据吧。

00

Qt编写安防视频监控系统8-双击节点

在所有的视频监控系统中,双击摄像机的节点,对应摄像机加载到当前焦点通道显示,这个都是必须具备的功能,还有一些厂家会做双击NVR节点,自动加载该NVR下的所有摄像机全部显示,从通道1开始到通道16或者32,知道排满,或者双击对应的分组,分组下面的所有摄像机自动加载显示视频,这个基础效果在Qt中还是很好实现的,入门级别,唯独双击父节点加载节点下的所有视频,我们知道QTreeWidget默认双击父节点是折叠功能,那怎么取消这个功能呢?或者仅仅是限制单击父节点的+-号来实现折叠和展开,这个就需要用到事件过滤器,事件过滤器的优先级别很高,可以直接优先拿到对应的事件,然后进行处理,处理完成以后如果不需要继续传递下去可以直接return true即可,这样就不会再执行该事件了。

02

Qt编写安防视频监控系统1-通道切换

通道切换在视频监控系统中是最基础的必备功能,一般都会提供1通道+4通道+6通道+8通道+9通道+16通道这几个通道切换,可能做得比较好的还会提供24通道+32通道的,这个可能对电脑的配置就有一定要求了,一般来说,超过9个通道实时显示视频流,基本上会采用子码流来显示,如果都采用主码流,电脑压力非常巨大,CPU占用很高,内存也高,不过现在的电脑配置越来越高,基本上四千多的台式机,配置已经非常好了,显示个16个通道的实时视频毫无压力。 Qt中的布局非常好用,尤其是QGridLayout表格布局,可以指定行列放置控件,而且还可以设置每个控件占用几行几列,这样就可以完美的实现各种通道布局了。比如6通道,可以设置通道1占用两行两列,其他通道各站一行一列即可,当切换布局的时候,其他隐藏即可。

01
领券