Название: QTreeWidget Отправлено: Az от Май 03, 2010, 14:34 Добрый день.
Вопрос достаточно тривиальный, но я что-то подзапутался. Есть QTreeWidget в котором 1 колонка, 3 айтема и по 3-4 чилдрена в каждом. Но основной момент (и проблема) в том, что у них у всех есть чекбоксы. Смысл всего этого в том, чтобы при выборе определенных чекбоксов и нажатия кнопки, в textEdit выводилось содержимое чилдренов. Чекбоксы самих айтемов не имеют значения. На сколько я понял, нужно 2 этапа для обработки этого дела: 1. Циклом проверить все чилдрены на checked 2. Вывести значения чекнутых в textEdit. Получилось что-то вроде этого: Код Но все же есть тут ошибка, а вот какая никак не соображу. Название: Re: QTreeWidget Отправлено: garryHotDog от Май 03, 2010, 14:37 покажи вывод компилятора(ошибку)
Название: Re: QTreeWidget Отправлено: Az от Май 03, 2010, 14:39 покажи вывод компилятора(ошибку) Ошибка традиционная: Код: The program has unexpectedly finished. Название: Re: QTreeWidget Отправлено: crossly от Май 03, 2010, 14:49 вот твоя ошибка
Код: QTreeWidgetItem* item; Название: Re: QTreeWidget Отправлено: Az от Май 03, 2010, 15:22 Да, получается, что ни на что....
Тогда глупый вопрос: если использовать такую схему, то вылета нет, но ничего не происходит. Код Заранее извиняюсь, если бред спросил, не спал уже почти сутки, в голове такой бред творится ??? Название: Re: QTreeWidget Отправлено: crossly от Май 03, 2010, 15:41 ну понятное дело... ты же новое дерево создаешь таким образом.... тебе нужно к примеру
Код: QTreeWidgetItem *item = ui->treeWidget->invisibleRootItem() Название: Re: QTreeWidget Отправлено: Az от Май 03, 2010, 15:55 Все-таки что-то в моей конструкции не то, ругатся не ругается, но и вывода нет. Придется походу таки городить отдельный класс :(
Название: Re: QTreeWidget Отправлено: crossly от Май 03, 2010, 16:16 ну понятное дело не то.... ты же в switch проверяешь установлен у тебя флажок в rootItem.... он естественно там никогда не установлен... ибо его даже не видно... :)
Название: Re: QTreeWidget Отправлено: Az от Май 03, 2010, 16:42 Можно было бы объявить:
Код но одна проблема, его нельзя поместить цикл, потому что тогда n_childrens еще неизвестно до объявления item... замкнутый круг однако... Название: Re: QTreeWidget Отправлено: crossly от Май 04, 2010, 09:26 я не вижу никакой проблемы.... берем rootItem спускаемся вниз и проверяем то что нужно...
Название: Re: QTreeWidget Отправлено: Az от Май 11, 2010, 20:32 crossly, спасибо!
Результатом пары вечеров стало это: Код И все-таки не так оно работает, как хотелось бы. Сейчас получается так, что если группа выбрана, то он выводит все, что есть в подгруппах. То есть, даже если в подгруппах ничего не чекнуто, он все-равно выводит все... Название: Re: QTreeWidget Отправлено: Az от Май 11, 2010, 22:37 Все, вроде доковырял. Всем спасибо!
Код
|