【发布时间】:2014-07-18 12:48:32
【问题描述】:
Qt/Qml 使用模型/视图架构 Model/View Programming Model/View Tutorial 但他们的例子太简单了。我想知道它应该如何处理更复杂的问题。假设我们有应用程序。根据 Qt 的模型/视图架构,最好的解决方案是创建 ApplicationModel、ApplicationView 和 ApplicationDelegate。现在让我们的应用程序拥有一个控制台和其他组件。 Console 应该分离为 ConsoleModel、ConsoleView 和 ConsoleDelegate。但是Console有自己的Input和Output,应该分别为ConsoleOutputModel、ConsoleOutputView、ConsoleOutputDelegate和ConsoleInputModel、ConsoleInputView、ConsoleInputDelegate。
但是这一切应该如何结合呢? ApplicationModel 是否应该包含包含 ConsoleOutputModel 和 ConsoleInputModel 的 ConsoleModel?这是有道理的,但是视图和代表呢?同样还是ApplicationDelegate应该控制ConsoleView和ConsoleDelegate?那么 ConsoleOutputView 应该如何访问 ConsoleOutputModel 呢?
对于每一个提示或示例解决方案,我将不胜感激。
【问题讨论】:
-
在我看来,每个应用程序都是一棵组件树。所以问题是:Qt 的模型/视图架构是否定义了如何处理如此复杂的结构?如果是这样,怎么做?如果没有,就直说吧。
标签: c++ qt view model delegates