问题描述
|
我目前在一个项目中工作,在该项目中我已经在数据结构中执行了一些操作(hash_map / unordered_map),并显示了执行这些操作所花费的时间,最后我总结了执行不同操作所花费的所有时间。我已经在Linux中的GNU C ++中编写了代码,并且能够使用菜单驱动程序在终端(vi编辑器)中显示上述要求。
当我的经理告诉我在程序中使用GUI而不是Menu时,我的问题开始了。如何将GUI与GNU C ++中的现有代码集成。在谷歌搜索时,我看到它们提供了QT和GTK +作为在C ++中创建GUI的选项,但是我的问题是我的代码已经用C ++(GNU)编写,并且包含一些特定的标头(#include \“ hash_map \” / #include \ “ unordered_map \”)。
那么我应该怎么做。请帮助,因为我无法在我的项目中前进。
解决方法
Qt是使用C ++语言轻松创建GUI的绝佳选择
您的一般流程将是
1.将数据结构操作构建到共享库或静态库中。
您可以使用QMake进行此操作(在安装QT Creator,用于QT的IDE时应包括在内)或通过修改现有的构建方式来进行
根据您代码的结构方式,这可能是一项艰巨的任务。希望您的主要工作是将大部分工作委托给其他班级。 (如果不是,您将熟悉称为“重构”的活动)
2.链接到库并从现有的菜单驱动界面调用它
如果一切正常,那么恭喜您继续创建UI
如果情况不尽相同,请参阅前面有关重构的评论
3.使用QT Creator创建UI。链接到库并从UI调用
添加功能,直到满足要求。
请您的未来同伴帮个忙,并研究一种称为“模型-视图-控制器”设计模式的方法,以及它如何应用于UI。一个小的组织将使您的工作在将来不太可能被丢弃。
参考文献
http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
http://doc.qt.nokia.com/4.7/qmake-project-files.html
http://doc.qt.nokia.com/4.7/tutorials.html