![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
dexter_man |
![]() ![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 16 Регистрация: 12.5.2008 Пользователь №: 173 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Помогите реализовать QTreeView:
Модель данных выглядит седуюцим образом Здание 1 1 |-----Комната 1 1 Здание 2 1 |-----Комната 1 1 Здание 3 3 |-----Комната 1 2 |-----Комната 2 1 |-----Комната 3 1 Короче получается обычное дерево. например когда выбирается "Здание 3" и вводится кол-во комнат (с помошью QSpinBox), например 3 , то добавляется введенное количество комнат. Посоветуйте с чего хоть начать, в программирование полный профан!!! Каким образом это хоть можно сделать??? И каким оразом реализовть модель/представление??? |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
---
Представление, напримере табличного, можно так вообразить: Натянута сетка, как волейбольная, в ней ячейки, в ячейке отображаются цифирки, буковки или вовсе картинки. Если надо поменять в ячейке содержимое, т.е. человек в ячейку ручками полез, туда быстренько подсовывается устройство - делегат. Оно занает как менять, в первы момент делегат узнает у модели данные, передав ей координаты - модельный индекс, затем показывает себя с этими данными, и человек уже работает с делегатом, потом когда фокус от я чеки уходит, делегат отправляет данные в модель, опять же с помощью координат - модельного индекса. А сам убегает, на его месте представление показывает то что сейчас в модели. Если делать модель QAbstractItemModel то обязательно переопределять все функции? ненадо тебе модель делать, тебе надо делегат делать, который, когда будет убегать из сетки, помимо того что данные в модель запишит, еще и подветок нужное кол-во в модели создаст, и все убежит, а когда убежит представление у модели спросит "как там с данными?", а модель ему свежачек подкинет. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 23.7.2025, 18:17 |