Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: evilguard от Март 13, 2007, 13:27



Название: Свойство visible у QGraphicsItem и его детей. Глючит.
Отправлено: evilguard от Март 13, 2007, 13:27
делаю я значит 2 класса потомка QGraphicsItem - Map и ContourMap, затем их объявляю:
Код:

class Map : public QGraphicsItem
{
....
}
class ContourMap : public QGraphicsItem
{
....
}

....
Map *map = new Map();
ContourMap *cont_map = new ContourMap();

//Затем делаю cont_map дочерним по отношению к map:
cont_map->setParenItem(map);

//Делаю, чтобы map можно было выделять и двигать:
map->setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable);

//Для дочернего элемента cont_map это не нужно, так как он должен двигаться вместе с базовым

По умолчанию свойство visible у обоих элементов  - true, они отображаются. Допустим если потом применить к родительскому объекту map метод setVisible(false), то прячется не только он, но и дочерний объект, правильно. Если затем сделать cont_map->setVisible(true) - то дочерний объект отобразиться, хотя родитель по прежнему не виден. То есть когда прячешь родителя - связб между ним и детьми есть, а когда показываешь ребенка, то связи этой нет. Так что это все-таки баг.


Название: Свойство visible у QGraphicsItem и его детей. Глючит.
Отправлено: burunduk от Март 13, 2007, 14:11
бедные дети  :)  :)  :)