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