我需要一些关于如何根据从服务器获取的菜单列表添加graphicsitem的建议。
服务器将为我提供菜单项和子项的列表,每个子项都有自己的项目列表。我将使用TCP套接字编程作为客户端接收它。
现在我必须将从服务器收到的项目和子项目添加到QGraphicsScene并查看..现在我正在使用QGraphicsLayout添加项目水平和垂直但我想知道我们是否有任何薄的
模态 - >视图,如QGraphicsView中的QTableView和QListView。如果是这样或任何其他方法可以帮助我..
答案 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中详细解释了这一点。