gpt4 book ai didi

c++ - 用于开发 GUI 库的文章

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:19:23 25 4
gpt4 key购买 nike

基本上,我找不到任何关于开发您自己的 GUI 的好文章,涉及良好实践、基本结构、事件冒泡、提示和避免所有常见陷阱。我对如何在 5 分钟内构建一些几乎不起作用的概念验证 GUI 不感兴趣……我对构建下一个 future 的 GUI 也不感兴趣。

目的是构建一个功能合理的 GUI 以用于游戏工具,但是它们将存在于游戏本身中,所以我不想使用现有的大型 GUI,而且我发现大多数游戏 GUI 都是我需要的东西相当臃肿。而且我喜欢自己做这件事的经历。

我过去做过一个 GUI,在某种程度上工作得很好,但是,由于一些糟糕的设计决策和缺乏经验,它只能做这么多(并且是在 Flash 中构建的,所以它免费获得了很多东西).所以这次我想真正了解基础知识。

最佳答案

一些提示-

1) 选择你的 UI 风格——它会是无状态的吗?如果是,您将如何适本地处理这些事件?如果它是无状态的,您可能必须重新评估您的 UI 用户代码两次,以便从用户端获取最新的事件更改。如果您的 UI 存储状态,那么您就不必关心处理事件,但它会在涉及快速突变和重建时限制您的 UI。

2) 不要过分依赖面向对象,虚方法不是世界上最快的东西,所以要小心使用它们;拥有某种基于继承的结构可能会有所帮助。如果使用对象,请注意 dynamic_cast 和 RTTI;他们会让你慢下来。相反,为每个小部件类设置一个枚举、get_type() 方法,并手动检查可转换性。

3) 尝试将外观和 UI 逻辑/布局分开。

4) 如果您想要动态窗口、布局等,那么您必须处理对齐、夹紧、位置等及其更新。如果您只需要静态定位的小部件,它会让事情变得容易得多。

5) 不要过度设计,你不会从中受益。

我并没有告诉你什么太具体的事情;也许提出一些具体问题会有帮助?

关于c++ - 用于开发 GUI 库的文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9778976/

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