【发布时间】:2011-04-06 21:56:18
【问题描述】:
首先我应该说我已经尝试从所有 POV 中看待这个问题。我也在freenode上问过,有人建议我一些东西,但最后结果证明这些建议不可能奏效。
在我看来,那些提出建议的人并不真正了解类层次结构和概念层次结构。
话虽如此,我已经多年没有使用 Qt,所以请多多包涵。
我想做的是一个可以坐在风景QGraphicsScene上的图形项(QGraphicsWidget,...Item,随便,我不知道应该从哪个类继承)。
假设您想为像battleship 这样的基于网格的游戏创建一个可重复使用的组件。
此小部件中的新对象(如战舰)可以表示为位矩阵并动态创建/插入。
其中的构建块本身(填充的 QGraphicsRectItem 或“空”的)应该由布局类管理。默认情况下可以为 QGraphicsGridLayout 提供服务,但它应该允许插入自定义布局。这将允许新的 2D 布局,例如等距。
在小部件内部进行布局还可以简化在此小部件之上的游戏开发,因为您将有方法 itemAt() 和层来组织“网格”上的对象。
请记住,小部件本身可以位于风景中。
那么哪些概念(网格小部件、网格块、网格布局)应该继承自哪些 qt4 (4.7.2) 类?
注意:已经退出的类/框架/其他内容也可以,但请记住,我不想为 Windows 用户分发厚度超过 3-4 Mb 的库。
【问题讨论】: