我正在 Qt4 中创建一些图形数据显示小部件,我很想使用它,为数据项QGraphicsScene
创建s 等。QGraphicsItem
但是,我想添加一些控件层(例如滚动条、缩放+其他按钮 - 我想使其具有与例如 Google Maps 类似的样式,即数据将显示在整个小部件中,并且按钮将显示在它们的顶部)到小部件。所以我认为将它们添加到场景中可能是可行的(也许作为QGraphicsGroupItem
将显示在数据上的 a 的孩子)。但是我希望它们在调整整个小部件的大小时移动和调整大小,所以我应该使用 aQGraphicsLayout
来管理它们。但此时,我发现事情相当复杂。
问题是,当使用 时QGraphicsLayout
,以下约束成立:
QGraphicsWidget
布局只能管理aQGraphicsLayout
只能用于管理 a 的子级QGraphicsWidget
这意味着我必须将我的控件创建为QGraphicsWidget
s,向数据小部件添加顶级QGraphicsWidget
,并自己管理这个顶级小部件的大小。
所以我想问:
经典的方法(即,对所有控件使用普通的旧小部件,并且
QGraphicsScene
仅用于显示数据)不是更合理吗?在这种情况下使用有什么好处
QGraphicsScene
(性能或简单性......)?我应该如何
QGraphicsScene
利用它的优势?