crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Тема закрытаНачать новую тему
> [РЕШЕНО] QTreeWidget, как удалить элемент?
void*
  опции профиля:
сообщение 29.7.2008, 20:23
Сообщение #1


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 15 раз(а)




Репутация:   3  


сабж. не могу понять, как мне удалить произвольный итем, не вижу подходящей функции... removeItemWidget вроде не то
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ЙаМайскЫйПчОЛ
  опции профиля:
сообщение 29.7.2008, 21:53
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 154
Регистрация: 10.7.2008
Из: СПб
Пользователь №: 232

Спасибо сказали: 7 раз(а)




Репутация:   5  


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

Сообщение отредактировал ЙаМайскЫйПчОЛ - 29.7.2008, 21:54
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 29.7.2008, 22:39
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9632
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 769 раз(а)




Репутация:   94  


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

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

void*, ответ смотри здесь

просто троли, знают английский хуже тебя ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 29.7.2008, 22:51
Сообщение #4


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 15 раз(а)




Репутация:   3  


Цитата(ЙаМайскЫйПчОЛ @ 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
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9632
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 769 раз(а)




Репутация:   94  


void*, в статье указаны функции:
takeTopLevelItem()
takeChild() их родительского элемента

вот попробуй догадатся, что take - брать - должно удалить что-либо :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 29.7.2008, 23:07
Сообщение #6


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 15 раз(а)




Репутация:   3  


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

Тема закрытаНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.12.2017, 21:16