Здравствуйте, гость ( Вход | Регистрация )
Litkevich Yuriy | Дата 26.7.2008, 12:14 |
Ну в дереве строки и являются элементами (items) дерева. А иначе, что такое строки? |
|
icore2008 | Дата 26.7.2008, 12:05 |
Вроде бы разобрался со вставкой строк и колонок в примере, приведенном Администратором из Книги М.Шлее. При вставке строк в модель, например строк вставляются вроде бы только строки, но они ничем не заполнены на первый взгляд. Цитата bool QAbstractItemModel::insertRows ( int row, int count, const QModelIndex & parent = QModelIndex() ) [virtual] Далее, в ассистанте идет объяснение: Цитата On models that support this, inserts count rows into the model before the given row. The items in the new row will be children of the item represented by the parent model index. Именно слова выделенные жирным и подсказали мне, что при вставке новых рядов таки создаются айтемы! :-) Поправьте, пожалуйста, если я неправ :-) |
|
icore2008 | Дата 24.7.2008, 15:00 |
решение нашел в примере Simple Tree Model. Вполне устраивает |
|
icore2008 | Дата 23.7.2008, 17:28 |
тебе надо разобратся как работате пример у Макса, и внужное тебе место вставлять елемент, ведь тыже хочешь его кудато конктретно воткнуть. читал это: "Классы моделей"? Читал, только на английском в ассистанте ![]() хотел переопределить Цитата int QAbstractItemModel::rowCount ( const QModelIndex & parent = QModelIndex() ) const [pure virtual] Но как? |
|
Litkevich Yuriy | Дата 23.7.2008, 17:19 |
тебе надо разобратся как работате пример у Макса, и внужное тебе место вставлять елемент, ведь тыже хочешь его кудато конктретно воткнуть. читал это: "Классы моделей"? |
|
icore2008 | Дата 23.7.2008, 17:12 |
если тебя смутило, то что число строк не меняется, то обрати внимание на исходную функцию: Цитата void QStandardItemModel::setItem ( int row, int column, QStandardItem * item ) ... т.е. "Если необходимо, то число строк и число колонок увеличивается, чтобы разместить элемент" хорошо, но как я укажу int row, int column, куда нужно положить айтемы? после построения модели (добавления рядов и колонок) число строчек не меняется Проверял qDebug'ом |
|
Litkevich Yuriy | Дата 23.7.2008, 17:07 |
если тебя смутило, то что число строк не меняется, то обрати внимание на исходную функцию: Цитата void QStandardItemModel::setItem ( int row, int column, QStandardItem * item ) Sets the item for the given row and column to item. The model takes ownership of the item. If necessary, the row count and column count are increased to fit the item. The previous item at the given location (if there was one) is deleted. This function was introduced in Qt 4.2. See also item(). void QStandardItemModel::setItem ( int row, QStandardItem * item ) This is an overloaded member function, provided for convenience. т.е. "Если необходимо, то число строк и число колонок увеличивается, чтобы разместить элемент" |
|
icore2008 | Дата 23.7.2008, 16:58 |
посмотри void QStandardItemModel::appendRow ( const QList<QStandardItem *> & items ) может подойдет подойдет, но только для добавления к основной модели, а мне нужно именно дочерние QStandardItem |
|
Litkevich Yuriy | Дата 23.7.2008, 16:53 |
посмотри void QStandardItemModel::appendRow ( const QList<QStandardItem *> & items ) может подойдет |
|
icore2008 | Дата 23.7.2008, 16:35 |
Интересует вот этот кусочек кода:
Можно ли как-то положить во вновь создаваемые строки и колонки объекты типа QStandardItem? пробовал Цитата void QStandardItemModel::setItem ( int row, int column, QStandardItem * item ) но тут нужно указывать ряд, куда вставлять, а в примере, приведенном Litkevich Yuriy, количество строк в модели, после добавления остаётся равным 5. |
|
Просмотр темы полностью (откроется в новом окне) | |
![]() |
Текстовая версия | Сейчас: 19.2.2025, 2:50 |