在运行时添加图形项

时间:2014-10-21 06:15:01

标签: qt qgraphicsview

我需要一些关于如何根据从服务器获取的菜单列表添加graphicsitem的建议。

服务器将为我提供菜单项和子项的列表,每个子项都有自己的项目列表。我将使用TCP套接字编程作为客户端接收它。

现在我必须将从服务器收到的项目和子项目添加到QGraphicsScene并查看..现在我正在使用QGraphicsLayout添加项目水平和垂直但我想知道我们是否有任何薄的

模态 - >视图,如QGraphicsView中的QTableView和QListView。如果是这样或任何其他方法可以帮助我..

1 个答案:

答案 0 :(得分:1)

您可以使用QGraphicsProxyWidget将小部件添加到QGraphicsScene。创建QTableView或QListView并将其添加到场景中: -

QGraphicsScene* pScene = new QGraphicsScene(x, y, width, height);
QTableView* pTableView = new QTableView;

// add the widget to the scene
QGraphicsProxyWidget* pProxyTableView = pScene->addWidget(pTableView);

在添加小部件时,会返回一个QGraphicsProxyWidget指针,该指针可以移动并放置在所需位置的场景中: -

pProxyTableView->setPos(newXPos, newYPos);

documentation中详细解释了这一点。