复杂 UI 与 MVC

Complex UI with MVC

我正在尝试重新创建我制作的文本编辑器,但使用的是 MVC 设计模式;我不太确定它的某些部分。

例如,我有一个显示我的项目目录的树视图,一个显示文件内容的文本编辑器,以及显示的文件编译输出和一个选项卡式界面。

这是拆分成几个不同的模型还是在一个大模型下?如果它在 1 个大模型下,我将如何使用 Qt 模型 类 来做这样的事情?

打开 Qt Designer 并拖放您需要的所有内容。它应该会让你走得很远。

我认为您唯一应该担心的 model/view 是 QFileSystemModel 并将其与 QTreeView 配对。其他一切 Qt 都有一些很好的例子来展示如何去做。

如果您在单独的选项卡中同时显示多个文件,那么您可能想查看选项卡式浏览器示例以了解它是如何完成的。

http://doc.qt.io/qt-5/examples-mainwindow.html

http://doc.qt.io/qt-5/qtwidgets-richtext-syntaxhighlighter-example.html

http://doc.qt.io/qt-5/qtwidgets-widgets-codeeditor-example.html

http://doc.qt.io/qt-5/qtwebkitexamples-webkitwidgets-browser-example.html

我喜欢 QDockWidgets 并使用 QActions 并将它们放在 QMainWindow 中的 QToolbar

http://doc.qt.io/qt-5/model-view-programming.html

http://doc.qt.io/qt-5/qfilesystemmodel.html#details

http://doc.qt.io/qt-5/qmdiarea.html#details

http://doc.qt.io/qt-5/qtextedit.html

对于编译部分,您只需要创建一个 QProcess 并将其输出连接到 QTextEdit.

希望对您有所帮助。