我的项目正在蒸蒸日上了!
文章目录
总任务清单
使用sqlite
较为简单,qt自带sqlite驱动,配置即可
sqlite基本不需要什么启动项或者应用程序来使用,他就像Markdown,只需要一个.db
文件即可对其进行数据库相关操作,不需要开启任何额外的服务,随用随开
TCP实现一对多
启动程序可以设置客户端,服务器,可以多个客户端连接一个服务器。客户端同步数据到服务器,服务器可以同步数据到所有的客户端
需要查看相关的实例以及代码实现的具体形式 还需实践查看具体能否运行
每当有新链接加入时,使用一个类型为QTcpSocket
的QList
将其存储,在将要把数据发送时遍历该列表即可
程序使用单例模式
通过定义静态对象和调用端口,使得类的管理更加方便
研究设计模式的单例使用方式,并研究代码中可供修改的部分
饿汉
懒汉
遇到的问题
存储图像信息的类在主函数中创建了一个用于vector存储的对象,并且在创建新图像的部分通过创建单实例+append函数的方式将其存入主结构体中
UDP和UDP组播
使用QUDPsocket来完成改操作 实现较为简单
通讯做动态库 回调函数
将上述通讯功能做成动态链接库以使用 难点
将消耗系统资源较大的部分放入线程中进行执行
使用MoveToThread
函数将其放入
将槽函数传入到动态链接库中
使用QOBJET model来调用动态链接库中的函数运行,从而保证其能运行到对应的线程中
使用pixmap与QPinter结合,在自定义图像中展示更多内容
图(导入) 文字(字体大小) 绘图(背景色图像)
自定义custom item,将本地图像导入到item的固定位置,然后再下部写字并定义字体形态大小格式,绘图并定义下部状态 相对简单,尽可能多的使用QPaint可以实现的功能,从而保证遇见问题时能够给出多项解决方案