(я использую Qt 4.7, Windows 7, 64 бит).
Я создал пользовательскую таблицу. Каждая строка представляет собой горизонтальную компоновку с виджетами. Строки хранятся в QList для легкого доступа, а также для детей. Строки также добавляются внутри родительского виджета.
Если я изменяю размер родительского виджета, я вычисляю новые размеры, удаляю все и снова создаю его.
Моя проблема в том, что я не хочу удалять виджет. Только когда я очищаю таблицу, я делаю это.
Так как у меня есть виджеты внутри QList и внутри родительских макетов, как я могу удалить все виджеты в каждой строке, удалить все макеты, а затем добавить их в новые макеты?
Если я делаю: takeAt (0) для каждого элемента внутри каждого макета, у меня есть QLayoutItem с виджетами внутри... Как я могу удалить layoutItem без удаления виджета?.... Как удалить виджет без убить его, независимо от того, находится ли он у родителя или ребенка? Поскольку существует множество методов для удаления: removeItem, removeWidget... в макете, но не takeWidget... просто takeAt(), и он дает Qlayoutitem.
Я пробовал несколько способов, но я все еще вижу виджеты независимо от того, что с ними произошло.
Вопросы об этом:
-
Когда виджет удаляется? Если я беру Widget (индекс) из макета, он удаляется некоторое время сам по себе? это произойдет, если у меня есть указатель на него в другом списке?
-
removeAt (index) выполняет метод удаления виджета?