Я изучаю модель/представление парадигмы Qt, потому что кажется, очень хорошо подходит для редактирования структуры данных, мне приходится иметь дело с, например, это одна:Как разбить сложную иерархическую модель на два частичных вида?
Addition
|_QuadraticFunction
| |_intercept=0.2
| |_slope=0.0
| |_quadratic=1.2
|_Multiplication
|_LinearFunction
| |_intercept=0.0
| |_slope=-8.9
|_Gaussian
|_center=0.6
|_sigma=0.4
Моя структура данных составлена из сочетание функций, каждая функция имеет свои собственные свойства. Тем не менее, я не хочу отображать всю структуру данных в одном TreeView, потому что он может слишком долго работать для сложных структур. Вместо этого я хочу показать одно представление, включая только имена функций, и другое представление, показывающее только функции функции, выбранной в предыдущем представлении пользователем щелчком мыши, например:
(FunctionsView, первый вид)
Addition
|_QuadraticFunction
|_Multiplication
|_**LinearFunction**
|_Gaussian
(selectedFunctionView, второй вид)
intercept 0.0
slope -8.9
в этом примере, пользователь нажал на LinearFunction в первом View, а второй вид автоматически показали его свойства.
Мой вопрос: могу ли я хранить всю свою структуру данных (имена функций и свойства функций) под одной моделью, а затем иметь два представления, отображающие только части модели, как указано выше? Если нет, мне нужно создать одну модель для каждого частичного представления, каждая модель индексирует разные части структуры данных? Пожалуйста, помогите, я неопытен с этим.
.Jose
Большое спасибо за подсказку! Единственная модель - это то, что я хотел сохранить в синхронизации: D – jmborr
Добро пожаловать ... хороший вопрос, и единственная модель - это, безусловно, путь. Недавно я работал с Qt MVC-механизмом, в том числе и с написанием пользовательского представления с нуля. Это очень хорошо разработанная система. – goug