【发布时间】:2012-07-25 20:32:06
【问题描述】:
Qt 4.8.2,windows 7 x64(但我应该将其视为通用实现,而不是依赖于操作系统 - 如果可能的话 -)
这是一个概念问题,也是关于实施的问题。
我有一个(非常)简单的 QApplication。它读取带有“按钮”标签的 XML,为每个“按钮”添加一个新的 QPushButton 到布局中。这允许我根据配置文件(XML)动态生成 gui。我的问题是把它带到“下一个层次”。
我想开始将这些按钮与其他模块(例如:QDialog)相关联,然后它们会做他们必须做的任何事情。
我的最终目标是拥有一个“读取配置文件”(xml) 的应用程序,并根据其信息生成与读取的模块一样多的按钮。之后,“连接”按钮“启动命令”(我现在没有更好的措辞),它将作为普通模块运行......直到您关闭它,然后您将返回菜单。
我基本上想要一个动态生成的菜单(通过读取 XML 文件),然后连接这些按钮以执行/启动我的模块。我还希望它灵活,所以如果明天我在我的 XML 中添加一个新模块并将该模块添加到 app 文件夹中,我希望它能够启动它。
我的问题是:
我说得够清楚吗?
游戏通常如何执行进程?例如;来自视频游戏(在大多数 AAA 中)的“菜单”通常是用动作脚本或类似的东西制作的,然后,当您选择“新游戏”或“加载游戏”等时,它会执行某些其他 模块 em>(因为没有更好的词了),尤其是在 New Game 按钮和加载 DirectX 应用程序之间的过渡。
如何开发此类项目?我应该在一个通用解决方案中创建多个项目吗?
如您所见,我对软件设计知之甚少,因此,如果您认为我的问题过于基础,并且您建议我愿意阅读有关该主题的书,我承认我有点迷茫,欢迎提出任何建议。
与往常一样,如果我不够清楚或者我可以扩展某些内容,请告诉我。感谢您在此主题上提供的各种帮助。
另外:如果有人认为我应该更改当前标签,请告诉我。我认为这些是最合适的。
【问题讨论】:
-
"内部流程" 为什么需要是内部流程?将其作为常规进程运行并等待它完成不是更容易吗?
-
您能详细说明一下吗?实际上,我不知道它是否会(或不会),因此我为什么要问。我说“内部流程”是因为我真诚地认为这意味着它将是“来自应用程序的模块”,而不是从我的主应用程序执行的独立应用程序。
-
这是我的问题:将其作为独立应用程序运行有什么问题?人们总是这样做:为常用工具编写小的启动程序。
-
嗯,我唯一的“要求”是人们不能只进入文件夹并执行那些独立游戏。我希望他们“不得不”使用菜单。
-
为什么从菜单运行它很重要?您正在为自己做很多工作,因为它的基础非常简单:应用启动器。
标签: c++ qt coding-style