首页 > 解决方案 > 我的应用程序中可以有多个 QDialog 框和我的 MainWindow 吗?

问题描述

我的用户界面中有一个QListwidget,这些项目是食物,如

我有 22 件这样的物品

因此,每当我双击每个项目时,我都会有一个单独的模式QDialogbox弹出窗口显示其配方,并且该QDialog框还通过几行编辑的帮助接受输入。

所以我的问题是有 22 个单独QDialogboxes的可以吗?这有什么缺点吗?或者我可以做任何更好的替代方案,因为对于每个对话框,我还有一个 .h 和 .cpp 文件。

标签: c++qtqlistwidgetqdialog

解决方案


与其拥有 22 个不同的(但相同的,除了他们显示的文本)对话框类,不如拥有一个对话框类,该类接受包含要显示的文本的参数。然后,您可以将您的配方保存在一个文件中(例如,作为编译时常量保存在 .cpp 文件中,或者保存在程序启动时从磁盘读取的 .txt 文件中)并实例化您的一个对话框类的对象必要时适当的文本。


推荐阅读