我有一个包含其他类的类/ QDialog(我们称之为“框架”)。这是它的样子:
在上面的屏幕截图中,绿色矩形内的所有内容实际上是一个单独的类/自定义 QWidget(我们称其为“Page3”,因为它是列表中的第三项),放置在 QStackedWidget 内,而矩形外的所有内容都是 Frame 的一部分。因此,矩形内的所有内容都与 Frame 分开,即使它看起来是同一表单的一部分。单击Overview和SQLite Journal对象会在 QStackedWidget 中加载一个单独的页面。所有这些类都必须能够相互通信。
问题是,我不确定如何从 Page3 中访问 Frame 的公共方法或变量。看,Page3 的功能之一是当两个密码字段(Password & Repeat)的内容匹配时,解锁 Frame 中的 OK 按钮。为此,Page3 需要调用解锁 Frame 中按钮的方法。我需要与当前运行的 Frame 实例进行通信,而不是创建一个新副本,因此从 Page3 内部实例化 Frame 不起作用。我也不能使用 parent() ,因为它只是指 Frame 内的 QStackedWidget 而不是 Frame 本身。
如果有人能告诉我如何做到这一点,我将不胜感激。