1

我想在其中启动一个Process Manager项目,C并且假设它有一个Graphical User Interface。这是我的第一个GUI项目,我对此一无所知。经过一些搜索,我发现我应该使用winapi32库。

我的问题是:

我应该像基于控制台的项目那样编写我的项目,然后向它添加 GUI,还是应该在项目开始时考虑GUI ?

4

5 回答 5

3

我想说最好将应用程序编写为命令行应用程序,然后在 GUI 中编写一个包装器。通过这种方式,您可以获得最灵活的应用程序,GUI 和功能完全分离。

但我不会说!:-) 根据我的经验,将 GUI 与应用程序完全分开是非常困难的,因此您应该在构建它时考虑到 GUI。您的代码必须打开窗口、报告进度、对 GUI 事件做出反应,因此您必须非常熟悉您使用的 GUI 系统。

但是您还必须尽可能地保持 GUI 和功能之间的分离。例如,使您的回调简短,并将功能指向应用程序的非 GUI 部分。如果您需要在长时间计算期间报告进度,请将回调传递给计算算法,而不是在算法中混合 GUI 进度命令。

您还必须记住,大多数(如果不是全部)GUI 系统只能在主应用程序线程中执行 GUI 命令,并相应地构建程序。

总而言之 - 是的,一开始就考虑 GUI,这样会更容易,但也要在 GUI 和功能之间保持良好的分离,

于 2012-04-14T18:26:04.903 回答
1

为什么在开发过程中更改程序?只需将其设计为最终应有的样子。

于 2012-04-14T18:19:41.487 回答
1

您可以设计您的程序,使您能够同时使用文本和图形用户界面。为核心功能提供一个抽象的界面,并从文本和图形界面中使用它。

如果你想从上到下而不是自下而上开始,你应该选择你喜欢的任何东西,从调用你界面的存根版本的文本或图形界面开始。

于 2012-04-14T18:23:00.783 回答
1

为什么要把你的项目写成一个基于控制台的项目,因为它最终会得到一个 GUI?

如果有任何事情您想先尝试一下(比如您不知道如何做 a、b 或 c),请确保您可以将其作为一个辅助项目来实现。


但就您的主要项目而言,这就是我要做的:

  1. 精心规划和设计

    • 它要做什么
    • 打算怎么做?
    • 用户界面应该包含什么才能完全满足您的需求
  2. 编码
  3. 测试和调试。
  4. 重复 2 和 3 直到完全满意。

暗示 :

  • 答:我不建议您将 GUI 添加到现有的控制台应用程序中,因为这很可能会导致代码混乱和/或 UI 混乱。;-)

  • B.在尝试实施任何事情之前总是先学习。你根本无法想象你对能做什么的了解会影响你能做什么(很可能你最终会做什么)

于 2012-04-14T18:24:25.077 回答
1

如果要制作用户界面,可以使用QTCreatorVisual Studio 或表单项目...

QT是制作跨平台和可爱界面的绝佳方式...Visual Studio表单仅适用于 Windows 平台。

当您使用任何这些技术时,您必须将“组件”放在“窗口”中,然后对它们进行编码......

于 2012-04-14T19:42:43.020 回答