2010-10-28 60 views
3

我不知道是否可以選擇屬於一個組的項目,而不選擇整個組。如何選擇一個QGraphicsItem而不選擇整個組(該項目所屬)

我想要做的是一組物品,可以移動(所有物品一起移動),但它們都不能單獨移動。但我也希望能夠選擇該組內的項目,然後對其進行操作,如重新排序,刪除,更改顏色等。

另一個問題是,可能會有一組組。我也希望能夠在父組內部選擇這些組。我在想這可能是個問題,因爲我們無法確定哪些用戶組想要選擇。爲了演示目的,假設我們有圖形的場景由以下項目組成:

包含組B的組A.組B包含3行。 如果我按下雙擊A組,然後我可以選擇B組。如果再次雙擊B,則可以選擇組B內的線。按Esc與雙擊相反。問題是,我不知道該怎麼做,因爲所有的選擇都是發送給父母,而不是發回給所有的孩子。

回答

0

你不能使用QGraphicsItemGroup來做到這一點,因爲選擇一個組automaticaly中的一個項目選擇該組的所有其他memebrs。

我想子類QGraphicsItem創建一個'RootItem'類。這個類將包含兩個列表。一個是組成該組本身的視覺元素的普通QGraphicsItem的列表,它是這個RootItem的父元素。另一個列表是其他RootItems的父項(例如B組)。

您只需要確保您仔細控制哪些項目可以在任何時候選擇以及項目之間的交互如何傳播。

希望這會有所幫助。

相關問題