前言
之前用过blender,觉得里面的材质节点配置界面很有趣,也想自己做一个,但是一直没有去做这件事。直到最近qemu虚化学习告一段落,有空玩玩其它的图形图像相关内容,QT已经升级到6.0了,那么我就用下吧!
GraphicsItem入门
一开始我没思路,类似ue4的蓝图界面或者blender的材质节点配置界面在QT中要如何实现,后来查了资料了解到了GraphicsSence,GraphicsView,GraphicsItem可以帮助我实现自定制图形绘制及处理。因为对象窗口中的内容明显是自定制的paint。确认了学习对象后,看官网的help及网上的实例进行学习。然后自己做了一个可以添加和删除自定义对象,及放大移动自定义对象的工程,但是缩小对象时候有bug,就是边框会遗留在界面中。
其实我之前没有玩过GraphicsView组件,并且对于paint重绘的流程也不清楚,不知道他会调用哪些函数而产生干扰。通过入门学习,已经理解了基础。自己制作的工程效果如下
mygv.gif
GraphicsLayout入门
我玩了下GraphicsItem发现它很独立,没有捆绑的概念,通过help无意搜索到了GraphicsLayout组件,我认为ue4或blender中的带连线的配置窗口中有text文本及其它,而且移动下是一个小窗口进行移动的。所以我需要学习下GraphicsLayout。
基于官网的basicgraphicslayouts,我进行了修改,变成了我自己的工程。layout窗口我没有重绘,其实也可以重绘,变换为一个炫酷的界面。
image.png
小结
接着就差一个连线了,就是press事件中查到对象后,进行line绘制吧!这个我暂时想不到要做成一个什么项目功能,就先不实现了。本次主要是学习下QT GUI绘图入门。真的要做好,没有bug,而且界面美观,还是很花费时间的。
网友评论