我目前正在使用一些现有的大型C ++代码开发工具。我目前正在考虑使用模型 - 视图 - 控制器(MVC)设计。该模型应包含所有C ++代码。视图是用户看到的,控制器基本上是模型和视图之间的粘合剂。
我正在寻找的功能是:
现在我找到了3个解决方案:
我对Java Swing有一些经验,几乎没有使用QT和GTKmm的经验。
当我已经拥有现有的C ++代码作为缺乏经验的UI开发人员时,制作GUI的最佳解决方案是什么?
答案 0 :(得分:1)
在你的3个选项中,我肯定会选择Qt。
基本上,要使Qt成为一个功能GUI,您需要启动QApplication
,show()
某种小部件,然后启动应用程序的事件循环(QApplication::exec()
)。
http://qt-project.org/doc/qt-4.8/qapplication.html
http://qt-project.org/doc/qt-4.8/qapplication.html#exec
Qt非常灵活,经过深思熟虑,并且拥有强大的追随者。它有令人难以置信的文档。
要与现有的C ++数据结构进行交互,只需将它们构建为成员变量,作为GUI的主要小部件之一。然后,当您想要访问和显示信息时,它就是小菜一碟。
http://qt-project.org/doc/qt-4.8/qwidget.html
http://qt-project.org/doc/qt-4.8/qmainwindow.html
Qt中的大多数GUI元素仅作为视图,并且没有任何明确的模型和控制器设置。这留给了开发人员。如果您正在显示数据库或树或项目网格,则有model/view flow,但我认为它不适用于您的应用程序。
理解和使用SIGNALS和SLOTS对于在Qt中制作交互式GUI至关重要,而且非常轻松。
http://qt-project.org/doc/qt-4.8/signalsandslots.html
http://qt-project.org/doc/qt-4.8/qobject.html#details
阅读所有不同类型的QWidgets,您应该能够找到您在问题中列出的每个元素。
以下是您应该注意的一些内容:
http://qt-project.org/doc/qt-4.8/qtextstream.html
http://qt-project.org/doc/qt-4.8/qtextedit.html
http://qt-project.org/doc/qt-4.8/qlineedit.html
http://qt-project.org/doc/qt-4.8/qlabel.html
当然,请查看Qt附带的教程和示例。
如何将GNUPlot与Qt一起使用
http://lists.trolltech.com/qt-interest/2002-12/thread00068-0.html
另外,作为一个同时使用Qt Creator和Eclipse的开发人员,我更喜欢Qt Creator,将项目移植到Qt Creator中非常简单。如果你想改变Eclipse的构建链以使用Qt库和QMake,那么它也是可能的。
http://qt-project.org/doc/qt-4.8/qmake-project-files.html
http://qt-project.org/doc/qt-4.8/qmake-project-files.html#declaring-other-libraries
http://therning.org/magnus/archives/1023
我希望这很有帮助。祝你好运。