【发布时间】:2026-02-06 17:15:01
【问题描述】:
在我的基于 Qt 的程序中,我有这样的层次结构:
MyApplication::QMainWindow -> QTabWidget -> ProjectWidget::QWidget
在 MyApplication 中,我有一个传统菜单,其中一个操作是导入,需要调用 QTabWidget->currentWidget 定义的 ProjectWidget->importStuff()。
我遇到的问题是,当我使用 QTabWidget->currentWidget 时,我仅限于 QWidget 函数的子集,我无法调用任何扩展函数。我也不知道如何设置一个只会影响单个 ProjectWidget 的 SIGNAL/SLOT(不会触发其余部分)
我正在考虑向所有 ProjectWidgets 添加一个名为“isCurrent”的属性,然后我将设置一个将调用导入的信号,并检查“isCurrent”状态。如果它是当前小部件,那么它将执行导入功能。但这似乎很复杂,有没有更简单的方法?
【问题讨论】: