diff --git a/docs/bigscreen/index.html b/docs/bigscreen/index.html index 1c4fb18..4d3bc5b 100644 --- a/docs/bigscreen/index.html +++ b/docs/bigscreen/index.html @@ -671,8 +671,8 @@ header, .context-menu, .megamenu-content, footer{
V20220417
V20211015
V20210323
系统支持多种数据源,比如数据库采集、http请求、串口通信、网络通信、模拟数据等,为了简化测试过程,默认内置采用的是模拟数据。
系统内置了多种启动窗体,默认大屏系统,可以通过鼠标右键菜单进入系统设置,启动窗体下拉框选择进行切换,切换后会自动重启应用,还可选择控件演示、模块演示,在控件演示和模块演示窗体中,左侧是对应子窗体导航,会自动记住最后选中的子界面索引。
- 



+
V20220417
V20211015
V20210323
系统支持多种数据源,比如数据库采集、http请求、串口通信、网络通信、模拟数据等,为了简化测试过程,默认内置采用的是模拟数据。
系统内置了多种启动窗体,默认大屏系统,可以通过鼠标右键菜单进入系统设置,启动窗体下拉框选择进行切换,切换后会自动重启应用,还可选择控件演示、模块演示,在控件演示和模块演示窗体中,左侧是对应子窗体导航,会自动记住最后选中的子界面索引。
+ 




在大屏的顶部中间标题栏或者子模块以外的标题栏,鼠标右键弹出的是系统的菜单,包括布局切换和样式切换等。

在模块的标题栏,鼠标右键弹出的是模块可视化的菜单,这个是Qt内置生成的,加载了多少个子模块就会生成多少个菜单项,可以对每个模块进行显示隐藏切换。
在弹出的系统菜单选择布局方案,在弹出的二级菜单选择默认已经设置好的布局方案,直接切换即可。
在弹出的系统菜单选择新建布局,在弹出的框中输入布局名称,确认后,自由拖动调整模块位置,打开模块、隐藏模块,之后单击保存布局即可。
在弹出的系统菜单选择配色方案,在弹出的二级菜单选择对应的配色方案,默认有四种:紫色风格、蓝色风格、深蓝风格、黑色风格。
鼠标移动到子模块的标题栏,鼠标按下可以拖动这个模块到任意位置,模块也可以拖动独立位置展示,也可以嵌入到对应布局中,拖动好位置以后自动保存到布局方案,下次启动自动应用。双击模块标题栏可以剥离窗体使之悬浮。
鼠标移动到模块与模块的边缘,鼠标变成调整间距样式,可以左右或者上下拉动,调整好间距以后自动保存到布局方案,下次启动自动应用。

系统设置中的参数,可能会不定期做调整和修改及增加,下面的图示和参数描述未必全部一致,以最新的为准。

参数说明

参数说明
1QStringList listVideoUrl;2//本地视频文件3listVideoUrl << "f:/mp5/1.mp4";4//USB摄像头-默认5listVideoUrl << "video=USB2.0 PC CAMERA";6//USB摄像头-指定分辨率和帧率7listVideoUrl << "video=USB Video Device|1280x720|30";8//网络摄像机地址-大华9listVideoUrl << "rtsp://admin:12345@192.168.1.15:554/media/video1";10//网络摄像机地址-海康11listVideoUrl << "rtsp://admin:Admin123456@192.168.1.64:554/Streaming/Channels/101?transportmode=unicast&profile=Profile_2";12//网络视频流地址-美国13listVideoUrl << "http://vfx.mtime.cn/Video/2019/02/04/mp4/190204084208765161.mp4";14//网络视频流地址-中国15listVideoUrl << "http://vfx.mtime.cn/Video/2019/03/18/mp4/190318231014076505.mp4";16//网络视频流地址-海康萤石17listVideoUrl << "https://hls01open.ys7.com/openlive/6e0b2be040a943489ef0b9bb344b96b8.hd.m3u8"; 
采集间隔设置不用做说明,一看就懂,单位毫秒,可定制每个模块都对应自己的采集方式、数据库、间隔等。

理论上支持Qt支持的所有数据库,和具体程序无关,只要有对应的数据库的动态库和插件库就行,或者支持odbc数据源也可以,程序打通了odbc数据源的通信方式,所以支持各种数据库,可以先自己用对应的数据库工具连接数据库试试,通了数据库正常后在来测试程序。
亲测 Sqlite(Qt内置无需额外动态库)、MySql(高版本Qt需要自行编译插件)、PostgreSQL(开源免费的数据库,很好用)、SqlServer(需要设置ODBC数据源)、kingbase(国产人大金仓数据库,该数据库其实是基于PostgreSQL改的,通过odbc数据源方式测试无误)。
连接测试用来测试当前选择的数据库类型以及数据库信息,是否能连接数据库正常,可以避免数据库不通的情况下用来检测是否信息填写正确。
初始化数据库按钮用来执行sql脚本来生成对应的数据库,部分数据库支持数据库文件不存在的情况下通过sql语句来创建数据库,比如mysql、postgres等就支持直接sql语句新建数据库,有部分数据库可能不支持,需要手动先在数据库管理工具中新建好数据库,然后再来这里执行初始化数据库用来新建表和初始数据。
本系统支持多种工作模式,以便适应各种需求,默认采用随机模拟数据,大屏基础版本也采用此工作模式。
x1void frmModule1::loadPlot1()2{3 //对应表名(返回的时候充当唯一标识符flag)和字段名4 QString tableName = "t_1_1_mold_prod_total";5 QString columnName = "name,prod_1,prod_2";6
7 //模拟数据采用随机数据 其他采用调用函数接口查询和请求数据8 if (AppConfig::WorkMode == "timer") {9 double min = 1, max = 50;10 vdouble value1, value2;11 for (int i = 0; i < rowNames1.count(); ++i) {12 value1 << QUIHelper::getRandValue(min, max);13 value2 << QUIHelper::getRandValue(min, max);14 }15 loadPlot1(lvdouble() << value1 << value2);16 } else if (AppConfig::WorkMode == "db") {17 DbData::DbLocal->select(tableName, columnName, true);18 } else if (AppConfig::WorkMode == "http") {19 DbData::DbHttp->select(tableName, columnName, true);20 }21}如果工作模式选择的是模拟数据,则采用随机数模拟生成数据并设置。
具体数据库表字段说明参见后面的数据库说明。
如果工作模式选择的是数据库采集,则会自动连接设置的数据库,可以用对应的数据库管理工具连接数据库,打开对应的表,然后更改其中的数据,保存,可看到对应的数据反应到界面上。
系统支持一个系统下的软件远程访问另一个系统下的数据库,比如linux系统或者mac系统远程访问win系统上的mysql数据库,数据库也可以放在云端比如阿里云(亲测无误),只要对应IP和端口可达就行,验证是否可达可以用对应的数据库管理工具连接即可。
理论上odbc的方式支持多种数据库,比如sql server,oracle,postgresql等,所以如果没有插件支持的数据库可以考虑用odbc的方式,odbc也是跨平台的。
如果需要远程访问mysql数据库,mysql数据库需要设置用户 root@%
@@ -745,7 +745,7 @@ header, .context-menu, .megamenu-content, footer{
| 名称 | 说明 |
|---|---|
| bottomwidget | 通用底部状态栏控件,可以设置软件名称、版本号、运行时间等。 |
| colorcombobox | 颜色下拉框控件,在系统设置中有。 |
| cpumemorylabel | CPU和内存使用情况标签控件,主界面右上角显示。 |
| customtitlebar | 停靠窗体自定义标题栏控件。 |
| devicebutton | 设备按钮控件,比如图片地图模块中用到,可设置不同的图标样式和状态等,双击发出信号进行相应处理比如弹出对应视频预览等。 |
| framelesswidget | 无边框窗体管理类,无边框拖动+拉伸,主界面就用到了这个类。 |
| lcddatetime | 软件右上角显示时间的控件。 |
| panelwidget | 面板容器控件,主界面子模块表格消息,就用到此控件,用于将一堆widget放到此容器进行管理,自动形成滚动条等。 |
| switchbutton | 开关按钮控件,在系统设置中存在大量该控件。 |
| xslider | 滑动条控件,在原有滑动条基础上增加了鼠标按下立即定位等。 |

| 名称 | 说明 |
|---|---|
| customplot | 自定义图表组件类。 |
| customplotbarh | 自定义形状-横向柱状图。 |
| customplotbarv | 自定义形状-垂直柱状图。 |
| customplothead | 当前组件通用头文件。 |
| customplothelper | 当前组件通用辅助函数文件。 |
| customplotline | 自定义形状-平滑曲线图。 |
| customplottracer | 自定义图层绘制十字线,也叫游标,定位线。 |
| smoothcurve | 平滑曲线算法类,内置多种平滑算法,可以自行增加其他算法。 |

本系统只用到了该类库中的dbconnthread、dbhttpthread。 dbconnthread:封装的一个通用的数据库通信类,支持sqlite、mysql、PostgreSQL等数据库,功能包括了数据库的打开和关闭,线程执行sql语句队列信号发出执行结果等,支持重连。 -dbhttpthread:本系统除了支持数据库采集模式以外,还支持发送http网络请求的方式来采集数据,请求中带对应要查询的表,字段等信息,这个类就是专门的请求类,请求结果自动过滤运算并信号发出去,返回数据的信号和数据库采集的信号完全一致,使得主界面关联到同一个槽函数就能正常工作。
| 名称 | 说明 |
|---|---|
| dbcleanthread | 自动清理数据线程类。 |
| dbconnthread | 数据库通信管理线程类。 |
| dbdelegate | 自定义委托全家桶,包括复选框、下拉框、密码框、按钮等。 |
| dbhead | 当前组件通用头文件。 |
| dbhelper | 各种数据库应用函数封装,比如初始化数据库、执行sql语句等。 |
| dbhttpthread | 网络请求数据采集类。 |
| dbpage | 数据库通用翻页类。 |
| dbpagemodel | 数据库翻页类数据模型。 |
| navpage | 分页导航控件。 |

| 名称 | 说明 |
|---|---|
| ffmpegconvert | ffmpeg各种转换处理函数封装。 |
| ffmpeghead | ffmpeg引入头文件。 |
| ffmpeghelper | ffmpeg辅助类,包括版本号,校验url地址、获取流索引等。 |
| ffmpegsync | ffmpeg音视频同步类,包括了同步以及发出当前播放进度信号。 |
| ffmpegthread | ffmpeg核心解码类,包括音视频的解码。 |
| ffmpegtool | ffmpeg工具类,用于执行ffmpeg的命令获取结果。 |
| ffmpegwidget | ffmpeg视频显示窗体类,依赖ffmpegthread。 |
| videoffmpeg | ffmpeg多通道管理类。 |

| 名称 | 说明 |
|---|---|
| echartjs | echart模块中用到的json文件转js文件,获取js文件中的名字和经纬度等处理。 |
| echarts | echart封装类,可加载仪表盘、闪烁点图、迁徙图、世界地图、区域地图等,每个点可自定义颜色和提示信息等。 |
| mapbaidu | 百度地图封装类,支持在线和离线两种模式。 |

| 名称 | 说明 |
|---|---|
| nv12glwidget | 继承自QGLWidget的NV12格式OPENGL绘制窗体。 |
| nv12openglwidget | 继承自QOpenGLWidget的NV12格式OPENGL绘制窗体。 |
| yuvglwidget | 继承自QGLWidget的YUV格式OPENGL绘制窗体。 |
| yuvopenglwidget | 继承自QOpenGLWidget的YUV格式OPENGL绘制窗体。 |

| 名称 | 说明 |
|---|---|
| webcore.pri | 通用的根据不同的Qt版本、不同的编译器环境、不同的操作系统,加载对应的浏览器内核模块和定义不同的变量。 |
| miniblink | miniblink封装处理类。 |
| webhelper | 经纬度转换、获取小数点经纬度值等常用处理函数。 |
| webjsdata | 通用的浏览器控件和Qt程序交互数据中转类。 |
| webview | 通用浏览器控件,支持webkit、webengine、miniblink。 |

| 名称 | 说明 |
|---|---|
| frmcontrol | 大屏控件演示主界面,负责加载所有控件演示子窗体。 |
| frmplotarea | 曲线面积图。 |
| frmplotbarh | 横向柱状图。 |
| frmplotbarhs | 横向分组图。 |
| frmplotbars | 柱状堆积图。 |
| frmplotbarv | 标准柱状图。 |
| frmplotbarvs | 柱状分组图。 |
| frmplotdata | 数据转曲线。 |
| frmplotnormal | 标准曲线图。 |
| frmplotsin | 模拟曲线图。 |
| frmplotsmooth | 平滑曲线图。 |

| 名称 | 说明 |
|---|---|
| frmmodule | 大屏子模块演示主界面,负责加载所有子模块界面。 |
| frmmodule1 | 年度产量汇总。 |
| frmmodule2 | 当月计划达成率。 |
| frmmodule3 | 设备监控。 |
| frmmodule4 | 模具进度。 |
| frmmodule5 | 负荷分布。 |
| frmmodule6 | 送检一次合格率。 |
| frmmodule7 | 品质管理。 |
| frmmodule8 | 物料管理。 |
| frmmodule9 | 备用模块。 |
| frmmodulecenter | 中心窗体。 |
| frmmodulemap | 大屏地图。 |
| frmmodulevideo | 视频监控。 |

| 名称 | 说明 |
|---|---|
| frmconfig | 系统设置界面。 |
| frmconfigdb | 通用数据库设置界面。 |
| frmdevice | 设备面板界面。 |
| frmmain | 大屏主界面。 |
| mainwindow | 以特定分辨率设置的大屏主界面用于截图。 |











































人大金仓数据库-kingbase,其实就是postgresql数据库改的,配置文件都一样,所以可以用连接postgresql数据库的方式进行处理。


ODBC连接字符串格式如上图所示。








| 名称 | 说明 |
|---|---|
| dbcleanthread | 自动清理数据线程类。 |
| dbconnthread | 数据库通信管理线程类。 |
| dbdelegate | 自定义委托全家桶,包括复选框、下拉框、密码框、按钮等。 |
| dbhead | 当前组件通用头文件。 |
| dbhelper | 各种数据库应用函数封装,比如初始化数据库、执行sql语句等。 |
| dbhttpthread | 网络请求数据采集类。 |
| dbpage | 数据库通用翻页类。 |
| dbpagemodel | 数据库翻页类数据模型。 |
| navpage | 分页导航控件。 |

| 名称 | 说明 |
|---|---|
| ffmpegconvert | ffmpeg各种转换处理函数封装。 |
| ffmpeghead | ffmpeg引入头文件。 |
| ffmpeghelper | ffmpeg辅助类,包括版本号,校验url地址、获取流索引等。 |
| ffmpegsync | ffmpeg音视频同步类,包括了同步以及发出当前播放进度信号。 |
| ffmpegthread | ffmpeg核心解码类,包括音视频的解码。 |
| ffmpegtool | ffmpeg工具类,用于执行ffmpeg的命令获取结果。 |
| ffmpegwidget | ffmpeg视频显示窗体类,依赖ffmpegthread。 |
| videoffmpeg | ffmpeg多通道管理类。 |

| 名称 | 说明 |
|---|---|
| echartjs | echart模块中用到的json文件转js文件,获取js文件中的名字和经纬度等处理。 |
| echarts | echart封装类,可加载仪表盘、闪烁点图、迁徙图、世界地图、区域地图等,每个点可自定义颜色和提示信息等。 |
| mapbaidu | 百度地图封装类,支持在线和离线两种模式。 |

| 名称 | 说明 |
|---|---|
| nv12glwidget | 继承自QGLWidget的NV12格式OPENGL绘制窗体。 |
| nv12openglwidget | 继承自QOpenGLWidget的NV12格式OPENGL绘制窗体。 |
| yuvglwidget | 继承自QGLWidget的YUV格式OPENGL绘制窗体。 |
| yuvopenglwidget | 继承自QOpenGLWidget的YUV格式OPENGL绘制窗体。 |

| 名称 | 说明 |
|---|---|
| webcore.pri | 通用的根据不同的Qt版本、不同的编译器环境、不同的操作系统,加载对应的浏览器内核模块和定义不同的变量。 |
| miniblink | miniblink封装处理类。 |
| webhelper | 经纬度转换、获取小数点经纬度值等常用处理函数。 |
| webjsdata | 通用的浏览器控件和Qt程序交互数据中转类。 |
| webview | 通用浏览器控件,支持webkit、webengine、miniblink。 |

| 名称 | 说明 |
|---|---|
| frmcontrol | 大屏控件演示主界面,负责加载所有控件演示子窗体。 |
| frmplotarea | 曲线面积图。 |
| frmplotbarh | 横向柱状图。 |
| frmplotbarhs | 横向分组图。 |
| frmplotbars | 柱状堆积图。 |
| frmplotbarv | 标准柱状图。 |
| frmplotbarvs | 柱状分组图。 |
| frmplotdata | 数据转曲线。 |
| frmplotnormal | 标准曲线图。 |
| frmplotsin | 模拟曲线图。 |
| frmplotsmooth | 平滑曲线图。 |

| 名称 | 说明 |
|---|---|
| frmmodule | 大屏子模块演示主界面,负责加载所有子模块界面。 |
| frmmodule1 | 年度产量汇总。 |
| frmmodule2 | 当月计划达成率。 |
| frmmodule3 | 设备监控。 |
| frmmodule4 | 模具进度。 |
| frmmodule5 | 负荷分布。 |
| frmmodule6 | 送检一次合格率。 |
| frmmodule7 | 品质管理。 |
| frmmodule8 | 物料管理。 |
| frmmodule9 | 备用模块。 |
| frmmodulecenter | 中心窗体。 |
| frmmodulemap | 大屏地图。 |
| frmmodulevideo | 视频监控。 |

| 名称 | 说明 |
|---|---|
| frmdevice | 设备面板界面。 |
| frmmain | 大屏主界面。 |
| frmmain2 | 以特定分辨率设置的大屏主界面用于截图。 |











































人大金仓数据库-kingbase,其实就是postgresql数据库改的,配置文件都一样,所以可以用连接postgresql数据库的方式进行处理。


ODBC连接字符串格式如上图所示。







