C ++应用程序:将值从表单传递到主窗口私有变量

时间:2019-05-09 10:54:11

标签: c++ qt

我正在开发一个应用程序来填充数据库。我的主窗口基本上是一个菜单,用于打开不同实用程序的表单。 不知道这是否是最佳做法,但让我解释一下我要做什么: 我的类mainwindow有一个私有的QString,它将存储当前的项目名称。在菜单中,“加载”打开窗体(另一个类),该窗体在组合框中列出了所有现有项目。用户选择他想要的项目,然后单击“确定”。

我想将combobox.currentText()返回到专用私有变量中。经过一番研究后,我仍然不知道该怎么做,我是否应该使用表单中的SIGNAL来触发主表单的SLOT,或者是否有一种简单的方法可以在按OK后返回一个值(例如输入对话框) 。如果我不够清楚,也许下面的草图可能会有所帮助。

enter image description here

我绝对不了解该主题,但希望能有所帮助。

1 个答案:

答案 0 :(得分:0)

实际上,如果用户接受表单(按下OK按钮后,用于加载项目的表单会发出信号OK,则该信号可以连接到主机的插槽)窗口。对于简单的事情,这可能很好而优雅。

另一方面,对动作做出反应有时需要更多的逻辑。如果您的动作触发了一个关心动作执行的插槽,则该插槽可能应该实现逻辑。它应该打开表单,并检查用户是否已接受项目更改(按String payment=(String) jTable1.getValueAt(row, 2); double pay=double .parseDouble (payment); ........ pst.setDouble(3, zar); )。在这种情况下,动作执行槽可以从表单中获取新的项目名称,然后调用主窗口方法来传递新的项目名称。