gpt4 book ai didi

c++ - 自定义 GUI 对象

转载 作者:行者123 更新时间:2023-11-28 03:51:21 25 4
gpt4 key购买 nike

在 C++ 程序中,我有一些图形,我想向其中添加一些对象。例如,它们可以是常见的“独立”对象,如文本、线条等,或更多不同类型的“智能”对象,它们的行为不同,可以连接到外部模型以读取/写入其状态。

我想到的最简单的事情是为所有具有虚函数的对象创建一个通用接口(interface),如 Draw() 等,但对象可以有本质上的不同(就像文本框和滚动条一样)不同,因此具有不同的界面)。另一方面,如果我不创建通用接口(interface),我将需要分派(dispatch)对象类型,这在 C++ 中通常被认为是不好的做法。

所有这一切都应该保持简单,例如创建小部件和自定义消息队列会有点矫枉过正,但我​​想做一些易于支持/扩展的东西。

我知道 GUI 有很多模式,例如 MVC、MVP 等,但这些模式非常笼统,我有点迷茫,所以如果你能给我一些指导(或者更好,引用灵感来自)那会很有帮助!谢谢。

最佳答案

一种可能性是使用多重继承。定义一个 drawable 基类,该基类只定义足以绘制可见对象的内容,并要求所有可绘制对象都从该基类派生。它们也可能(通常会)从其他基类派生,以定义它们支持的其他接口(interface);那只会确保在需要时可以绘制每个项目。

关于c++ - 自定义 GUI 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5397477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com