总任务清单

使用sqlite

较为简单,qt自带sqlite驱动,配置即可

sqlite基本不需要什么启动项或者应用程序来使用,他就像Markdown,只需要一个.db文件即可对其进行数据库相关操作,不需要开启任何额外的服务,随用随开

TCP实现一对多

启动程序可以设置客户端,服务器,可以多个客户端连接一个服务器。客户端同步数据到服务器,服务器可以同步数据到所有的客户端

需要查看相关的实例以及代码实现的具体形式 还需实践查看具体能否运行

每当有新链接加入时,使用一个类型为QTcpSocketQList将其存储,在将要把数据发送时遍历该列表即可

程序使用单例模式

通过定义静态对象和调用端口,使得类的管理更加方便

研究设计模式的单例使用方式,并研究代码中可供修改的部分

饿汉

懒汉

遇到的问题

存储图像信息的类在主函数中创建了一个用于vector存储的对象,并且在创建新图像的部分通过创建单实例+append函数的方式将其存入主结构体中

UDP和UDP组播

使用QUDPsocket来完成改操作 实现较为简单

通讯做动态库 回调函数

将上述通讯功能做成动态链接库以使用 难点

将消耗系统资源较大的部分放入线程中进行执行

使用MoveToThread函数将其放入

将槽函数传入到动态链接库中

使用QOBJET model来调用动态链接库中的函数运行,从而保证其能运行到对应的线程中

使用pixmap与QPinter结合,在自定义图像中展示更多内容

图(导入) 文字(字体大小) 绘图(背景色图像)

自定义custom item,将本地图像导入到item的固定位置,然后再下部写字并定义字体形态大小格式,绘图并定义下部状态 相对简单,尽可能多的使用QPaint可以实现的功能,从而保证遇见问题时能够给出多项解决方案