LINUX.ORG.RU

Удаление элемента из treeWidget из Ruby

 ,


0

2

Наверно глупый вопрос, но в интернете много кто его спрашивал и я не нашел ответа. Как удалить строчку из QtreeWidget из Ruby Команда -

@ui.treeWidget.removeItemWidget(@ui.treeWidget.currentItem,0)

Ничего не дает. То что эта команда не отрабатывает, пишут и на с++ форумах, но там предлагают загадочную команду «delete @ui.treeWidget.currentItem» А как быть с деревом в Ruby?

Ну в C++ как раз ничего загадочного, ключевое слово delete освобождает динамическую память, выделенную ранее командой new. Поскольку руби весь на указателях и со сборщиком мусора, никаких деструкторов там нет. Можешь попробовать решение, которое делается для удаления из списка каждым второкурсником, переопределить next предыдущего элемента и prev следующего. Обычно после этого еще идет удаление текущего элемента собственно, но тут за тебя это сделает GC.

Еще можешь проверить, работает ли эта дрянь с итераторами. Если да и приводится к массиву, то никаких проблем нет, есть select, reject, delete и все, что ты хочешь еще.

S-Mage ★★
()
Последнее исправление: S-Mage (всего исправлений: 1)

Погляди какие методы вобще есть:

p @ui.treeWidget.methods
p @ui.treeWidget.currentItem.methods
p @ui.methods
Возможно, среди них есть «delete» или что-то подобное.

Novator ★★★★★
()
Ответ на: комментарий от Novator

я даже так делал, нету там ничего похожего.

p @ui.treeWidget.methods.sort
p @ui.treeWidget.currentItem.methods.sort
p @ui.methods.sort

Bobrius
() автор топика

Как удалить строчку из QtreeWidget из Ruby Команда -

QTreeWidget::takeTopLevelItem ( int index )

Removes the top-level item at the given index in the tree and returns it, otherwise returns 0;

Не?

DarkEld3r ★★★★★
()
Ответ на: комментарий от DarkEld3r

Да, наверно ты прав, но к сожалению из-за сроков пришлось выкручиваться + использовал идею того, что в корне дерева будет несколько элементов, которые удаляться не будут, а не корневые элементы «чикаются»

Item.parent.removeChild(Item)
В будущем, возможно, придется вернуться к этому, но сейчас объект уже в отдельном файлике и время на его изменения нету. Спасибо

Bobrius
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.