c++ - 我的应用程序中可以有多个 QDialog 框和我的 MainWindow 吗?
问题描述
我的用户界面中有一个QListwidget
,这些项目是食物,如
- 比萨
- 土耳其软糖
- 意大利面
- 蛋糕
- ...
我有 22 件这样的物品
因此,每当我双击每个项目时,我都会有一个单独的模式QDialogbox
弹出窗口显示其配方,并且该QDialog
框还通过几行编辑的帮助接受输入。
所以我的问题是有 22 个单独QDialogboxes
的可以吗?这有什么缺点吗?或者我可以做任何更好的替代方案,因为对于每个对话框,我还有一个 .h 和 .cpp 文件。
解决方案
与其拥有 22 个不同的(但相同的,除了他们显示的文本)对话框类,不如拥有一个对话框类,该类接受包含要显示的文本的参数。然后,您可以将您的配方保存在一个文件中(例如,作为编译时常量保存在 .cpp 文件中,或者保存在程序启动时从磁盘读取的 .txt 文件中)并实例化您的一个对话框类的对象必要时适当的文本。
推荐阅读
- javascript - 循环内的顺序 http 请求
- regex - 重定向域和页面 ID
- git - 分支合并时忽略一些文件
- simulation - AnyLogic 在一个过程中更改参数值
- c# - 根据 2 列值从数据集中删除重复数据
- javascript - JS RegEx 删除部分 URL?
- json - JSON 解析失败:CF18 中 JSON 字符串意外结束
- java - 如何使用材料步进器库单击完成时将片段中输入的所有数据保存到数据库中
- html - 如何将垂直文本导航栏粘贴到右侧而没有间隙?
- java - Java Arraylist 中的 UnsupportedOperationException 错误