【问题标题】:What is the difference between a dialog based and frame based application in wxWidgetswxWidgets中基于对话框和基于框架的应用程序有什么区别
【发布时间】:2016-09-25 16:58:20
【问题描述】:

我正在尝试使用 Codeblocks 16.01、wxWidgets 3.1.0 和 MinGW 学习使用 C++ 进行 GUI 编程,当我在 Codeblocks 中启动 wxWidget 向导时,我可以选择我的应用程序类型是基于对话框还是基于框架。

我的问题是:基于对话框和框架的应用程序是什么意思?有什么区别?

【问题讨论】:

  • 您可以使用对话框资源编辑器来填充窗口的内容,大致是一个点击式 UI 设计器,但具有 1990 年代的敏感性。不太确定 CodeBlocks 是否有这样的编辑器,请查看 DialogBlocks 或 ResEdit。在基于框架的应用程序中,您必须编写代码来创建填充窗口的小部件。
  • 感谢您的帮助@HansPassant 这么简单:在基于对话框的应用程序中,您可以使用鼠标单击并拖动以使您的应用程序具有自动化编码,并在您拥有的基于框架的应用程序中自己编写应用程序的编码。我得到了吗? :)
  • @jjepsuomi,这不是必须的。基于对话框的应用程序正是它的本来面目——在主窗口中,您有一个带有“确定”和“取消”按钮的对话框。你填写一些数据并点击“确定”,你就完成了。使用基于框架的方法,您有一个主窗口,然后放置一些 GUI 元素 - 菜单、工具栏、状态栏,然后在您选择菜单/单击工具栏按钮/按下某个热键时进行一些处理。然而,使用 wxWidgets 这两种方法都可以通过拖放/点击来完成。
  • @jjepsuomi,通常你让你的应用程序基于框架(比如 95% 的时间)。但在某些情况下,基于对话的方法就足够了。
  • Hi@Igor 简短地修改了一下:实际上两者之间没有太大区别,除了基于对话框的应用程序通常比通常的框架应用程序“更简单”的应用程序?可以这样解读吗? :)

标签: c++ codeblocks wxwidgets


【解决方案1】:

它们是不同类型的顶级窗口,如果您遵循一般 UI 规则,则相关,不一定与 wxWidgets 相关。那里有很多答案,谷歌很容易找到;尝试一些:

wxFAQ: What's the difference between a wxFrame and a wxDialog?

wxForum: wxFrame vs wxDialog

wxForum: whats is the difference betweem wxDialog and wxFrame?

它与任何“资源编辑器”无关,也与您使用对话框或框架或类似的东西构建 UI 的方式无关。

【讨论】:

  • 感谢您的帮助! =)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-19
相关资源
最近更新 更多