我想在C
中启动流程管理器项目,并假设有一个图形用户界面。这是我的第一个 GUI 项目,我对此一无所知。经过一些搜索,我发现我应该使用winapi32
个库。
我的问题是:
我应该像基于控制台的那样编写我的项目,然后我添加GUI,或者我应该在项目开始时考虑 GUI ?
答案 0 :(得分:3)
我想说最好将应用程序编写为命令行应用程序,然后在GUI中编写包装器。通过这种方式,您可以获得最灵活的应用程序,并在GUI和功能之间实现完全分离。
但我不会说出来! :-) 根据我的经验,从应用程序中完全分离GUI非常困难,因此您应该在构建GUI时考虑到GUI。您的代码必须打开窗口,报告进度,对GUI事件做出反应,因此您必须熟悉您使用的GUI系统。
但是您还必须尽可能地保持GUI和功能之间的分离。例如,缩短回调时间,并将功能指向应用程序的非GUI部分。如果需要在长计算期间报告进度,请将回调传递给计算算法,而不是在算法中混合GUI进度命令。
您还必须记住,大多数(如果不是全部)GUI系统只能在主应用程序线程中执行GUI命令,并且可以合理地构建程序。
总而言之 - 是的,在开始时考虑GUI,这样会更容易,但是在GUI和功能之间保持良好的分离,
答案 1 :(得分:1)
为什么在开发过程中更改程序?只是设计它应该最终。
答案 2 :(得分:1)
您可以通过一种使用文本和图形用户界面的方式设计程序。提供核心功能的抽象接口,并从文本和图形界面中使用它。
如果你想从上到下开始而不是自下而上,你应该选择你喜欢的任何你喜欢的文本或图形界面来调用接口的存根版本。
答案 3 :(得分:1)
为什么要把你的项目写成一个基于控制台的项目,因为它最终会有一个GUI?
如果您想先尝试一下(比如您不知道如何做a,b或c),请确保将其作为辅助项目实施。
但就你的主要项目而言,这就是我要做的事情:
小心计划和设计
提示:
A。我不建议您将GUI添加到现有的控制台应用程序中,因为这很可能会导致代码混乱和/或用户界面混乱。 ; - )
B :在尝试实施任何内容之前始终学习。你根本无法想象你对可以做什么的了解有多少 影响你可以做什么(很可能你最终会做什么) 。
答案 4 :(得分:1)
如果要创建用户界面,可以使用QTCreator
或Visual Studio表单项目......
QT
是制作跨平台和可爱界面的绝佳方式...... Visual Studio
表单仅适用于Windows平台。
当您使用这些技术时,您必须将“组件”放在“窗口”中,然后对它们进行编码......