Qt申请"within"申请
Qt Application "within" application
Qt 4.8.2,windows 7 x64(但我应该把它看作是一个通用的实现,而不是依赖于操作系统的实现-如果可能的话-)
这是一个概念问题,也是关于执行的问题。
我有一个(非常)简单的Q应用程序。它读取一个带有"button"标记的XML,对于每个"按钮",在布局中添加一个新的QPushButton。这使我能够基于配置文件(XML)动态生成gui。我的问题是把它提升到"下一个层次"。
我想开始将这些按钮与其他模块(例如:QDialog)关联起来,然后这些模块会做他们必须做的任何事情
我的最终目标是让一个应用程序"读取配置文件"(xml),并根据其信息生成与读取模块一样多的按钮。之后,"连接"按钮"启动命令"(我现在没有更好的措辞),它将作为一个正常的模块运行。。。直到你关闭它,然后你会回到菜单。
我基本上想要一个动态生成的菜单(通过读取XML文件),然后连接这些按钮来执行/启动我的模块。我还希望它是灵活的,所以如果明天我在XML中添加一个新模块,并将该模块添加到应用程序文件夹中,我希望它能够启动它
我的问题是:
-
我说得够清楚吗?
-
游戏通常是如何执行流程的?例如视频游戏中的"菜单"(在大多数AAA中)通常是在动作脚本或类似的东西中制作的,然后,当你选择"新游戏"或"加载游戏"等时,它会执行某些其他模块(因为没有更好的词),特别是在"新建游戏"按钮和加载DirectX应用程序之间的转换。
-
如何开发这样的项目?我应该在一个通用解决方案中创建多个项目吗?
正如你所看到的,我对软件设计没有那么多的知识,所以如果你认为我的问题太基本,并且你有一些书建议我愿意读这个主题的书,我承认我有点迷失了方向,任何建议都是受欢迎的。
和往常一样,如果我不够清楚,或者我可以扩展一些内容,请告诉我。我感谢在这个话题上提供的任何帮助。
另外:如果有人认为我应该更改当前的标签,请告诉我。我认为这是最合适的。
您可能不需要将其可视化为"应用程序中的应用程序"。当你分解它时,它实际上是一个可以启动流程的应用程序,并且是通过xml文件配置的。
之后,将按钮"连接"到DLL?其他.exe文件?哪一个将作为普通应用程序运行。
当你说连接到DLL时,我不确定你的具体意思是什么。。。但所有这些真正需要做的就是从应用程序启动一个子流程。如果我单击按钮A,那么它可以在QProcess中启动应用程序A。你的应用程序是父进程,知道它何时停止运行。
如果你提到DLL时的意思是,你想开发其他单独编译的小部件,并能够通过点击按钮动态加载它们,那么我认为它仍然不是另一个应用程序。一次只能运行一个QApplication。如果导入包含小部件的新模块,则可以显示它们在相同的现有事件循环下运行。
游戏通常是如何执行流程的?例如视频游戏中的"菜单"(在大多数AAA中)通常是用动作脚本或类似的东西制作的,然后,当你选择"新游戏"或"加载游戏"等时,它会执行某些其他模块(因为没有更好的词),特别是"新游戏按钮"和加载DirectX应用程序之间的转换。
这是不正确的。
"大多数AAA"是单个应用程序。他们是否使用Action Script或任何特定的脚本语言来构建GUI是无关紧要的。游戏通常是一个单独的应用程序;你总是在游戏中。无论你是在游戏中还是坐在菜单屏幕上,它总是运行DirectX或OpenGL或其他任何东西。当你启动一个游戏时,所发生的只是游戏在应用程序中运行一系列功能。
它们不一定被安排在"模块"或其他外部世界可以访问甚至知道的结构中。它们通常不会"加载"其他代码;它只是调用应用程序中的其他函数。
在其核心,它与命令行应用程序没有什么不同,它等待用户键入一些输入,然后对该输入执行某些操作。
"大多数AAA"游戏不能按照你的要求进行。你不能只是在一个XML文件中添加一些东西,然后让他们在当前的中加载另一个游戏。它们不是这样建造的,这不是它们的目的。
如果你想有一个灵活的菜单应用程序来启动其他游戏,那么每个游戏都必须是一个单独的应用程序,菜单应用程序应该与所有游戏分开。在这一点上,启动一个游戏只是启动一个过程。这就是Steam和类似工具的工作原理。
- C++错误:"error: int aaa::bbb is protected within this context"
- "Warning: Comma within array index expression"但逗号分隔函数参数
- boost::geometry::within() 点和序列的行为
- c++ std::bind within function
- 如果 int 是"not within the enums range",为什么将 int 转换为强类型枚举会编译?
- 用户创建的类对象实例化的未申请标识符
- "Attribute is protected within this context"继承和 .h 和.cpp文件
- "Default member initializer needed within definition of enclosing class outside of member functions
- 呼叫send()关闭申请的情况下没有错误
- C++:关于囚徒困境申请的建议
- "within"结构 C/C++ 工作
- 基于本机openCV的统一申请
- Threads within C++ class
- STL容器申请
- QT申请标题
- 商业申请许可问题和LIBPCAP应用程序的解决方案
- 退出申请致电两倍
- 解析" cannot define member function ... within .."
- VCL表格申请
- Qt申请"within"申请