Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ [РЕШЕНО] QTreeWidget, как удалить элемент?

Автор: void* 29.7.2008, 20:23

сабж. не могу понять, как мне удалить произвольный итем, не вижу подходящей функции... removeItemWidget вроде не то

Автор: ЙаМайскЫйПчОЛ 29.7.2008, 21:53

А ты попробуй, не стесняйся.... должно быть то иначе и быть не может)))

Автор: Litkevich Yuriy 29.7.2008, 22:39

Цитата(void* @ 30.7.2008, 0:23) *
removeItemWidget вроде не то

ну да она только виджет внутри элемента удалит

void*, ответ смотри http://crossplatform.ru/documentation/qtdoc4.3/model-view-convenience.php#tree-widgets

просто троли, знают английский хуже тебя ;)

Автор: void* 29.7.2008, 22:51

Цитата(ЙаМайскЫйПчОЛ @ 29.7.2008, 21:53) *
А ты попробуй, не стесняйся.... должно быть то иначе и быть не может)))

а ты попробуй скомпилировать например это:
#include <QTreeWidget>
#include <QTreeWidgetItem>
#include <QApplication>
int main(int argc, char **argv) {
    QApplication app(argc, argv);
    QTreeWidget *tree = new QTreeWidget;
    QTreeWidgetItem *item = new QTreeWidgetItem(tree);
    item->setText(0, "item");
    QTreeWidgetItem *item1 = new QTreeWidgetItem(item);
    item1->setText(0, "item1");
    QTreeWidgetItem *item2 = new QTreeWidgetItem(tree);
    item2->setText(0, "item2");
    item->removeItemWidget(item1, 0);
    tree->show();
    return app.exec();
}

и увидишь как оно нифига не удаляется

ЗЫ проблема решена с помощью QTreeWidgetItem::removeChild()

Автор: Litkevich Yuriy 29.7.2008, 23:03

void*, в статье указаны функции:
http://crossplatform.ru/documentation/qtdoc4.3/qtreewidget.php#takeTopLevelItem
http://crossplatform.ru/documentation/qtdoc4.3/qtreewidgetitem.php#takeChild их родительского элемента

вот попробуй догадатся, что take - брать - должно удалить что-либо :)

Автор: void* 29.7.2008, 23:07

1) я уже написал, что проблема решена, и дальше флудить нет смысла :)
2) название конечно не совсем правильное, но насколько я понимаю, это наподобие QStack::pop(), т.е. элемент сначала удаляется и затем возвращается

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)