2017-02-22 35 views
0

Я не хочу, чтобы мой виджет автоматически удалялся с родителем - возможно ли это?Можно ли добавить QWidget в макет, но не удалить с родителем?

Возможно ли добавить виджет в макет без установки родительского элемента?

Если я widget->setParent(nullptr); после добавления макета моего виджета просто не появляется :(

ответ

2

Для виджетов Qt, понятие родителя/ребенок тесно связан с тем, как виджетами нарисованы, отображаемый на экране. Вы не может иметь виджетов в макете другого виджета, не имея их дочерних и родительских объектов.

Теперь, если вы хотите только удалить дочерний виджет (или любой класс, наследующий объект QObject), когда его родитель будет удален, вы можете прослушивать сигнал QObject::destroyed() родительского элемента и удалять отношения родительский/дочерний, когда срабатывает сигнал (обязательно используйте прямое или блокирующее соединение).

 Смежные вопросы

  • Нет связанных вопросов^_^