Qt 4.2介绍了QGraphicsView、QGraphicsScene 和 QGraphicsItem及其子类的的graphics/view 结构。两个附加类被添加到Qt 4.4中,另两个被添加到Qt 4.6中。对于测试使用该结构的应用程序,Squish提供了所有支持。
这个部分我们将测试一个简单的示例应用程序(example/qt/shapes),该应用程序使用一个图形视图作为它的主窗口区域。这幅图包括了标准的widgets,以及一些可以添加QGraphicsItems的部件。下面展示了Shapes应用程序的截图,截图显示Shapes已经添加了几个graphics items。
The Shapes example
Shapes应用程序的buttons,labels,spinbox以及LCD number widgets是标准的QWidget的子类,作为QGraphicsProxyWidgets添加在view中。用户可以通过点击合适的按钮来添加boxes(QGraphicsRectItems),text items QGraphicsTextItem,以及polygons(这些是具体应用程序自定义的RegularPolygonItem items)——它们经常开始是三角形,但有一个context 菜单可以将它们变成正方形或者返回三角形。Rubber band selection已经打开便于选择多个items(当然不是widgets)。用户可以拖拽移动items,选择后删除它们以及点击Delete按钮删除,可以通过操作spinbox对选择的items更改其Z 顺序。
这个部分我们将执行下面简单的测试计划来测试多个Shape