User interface 简单桌面GUI体系结构
以前在设计桌面应用程序时,我总是发现很难为不同的窗口构建一种干净的方式来相互通信 例如:修改主窗口行为的设置/选项对话框窗口 让我的“Main”(例如,一次只能看到一个窗口实例)成为一个好主意吗?既然一次只能有一个 这将使单独的窗口更容易、更干净地进行通信 如果以上是真的,那么我可以为其他窗口添加类似于Facade的干净界面方法 例如: main window.setFont(字体f)User interface 简单桌面GUI体系结构,user-interface,architecture,User Interface,Architecture,以前在设计桌面应用程序时,我总是发现很难为不同的窗口构建一种干净的方式来相互通信 例如:修改主窗口行为的设置/选项对话框窗口 让我的“Main”(例如,一次只能看到一个窗口实例)成为一个好主意吗?既然一次只能有一个 这将使单独的窗口更容易、更干净地进行通信 如果以上是真的,那么我可以为其他窗口添加类似于Facade的干净界面方法 例如: main window.setFont(字体f) 感谢您的宝贵意见。这是Qt正确的做法之一。如果您想与窗口通信,请向其发送信号,那么窗口可以处理接收信号与否的问
感谢您的宝贵意见。这是Qt正确的做法之一。如果您想与窗口通信,请向其发送信号,那么窗口可以处理接收信号与否的问题,发送者甚至不需要关心信号是否存在。马丁·福勒(Martin Fowler)提供了一本关于该主题的好书,其中涵盖了各种设计模式。例如,该模式可能在引用文章的上下文中适用
如果可以,我建议您坚持使用一些众所周知的框架,因为编写自己的框架可能是一项艰巨的任务。两个窗口是否都知道另一个?IE是负责显示设置窗口的主窗口中的代码,例如,您是否考虑将应用程序对象作为单件来帮助Windows通信?@ 9000。是的,我有。“但这看起来有点整洁,而且可以扩展。”拉塞诉卡尔森。我猜在我的简单例子中是这样的。在那里,我可以使用一个内部类。但我考虑了更大的应用。谢谢你的建议。我不想设计一个完整的框架,只是想用一种很好的方式来组织我的GUI…回答OpenCV的问题很令人沮丧,不是吗?很少有ppl upvote,OP几乎从来没有回来接受答案。@karlphillip-问题还在于openCV“官方”列表是一个糟糕的yahoo groups网站-高级openCV用户也无处可去