重置/清除 TabWidget 页面中的每个项目

Reset / Clear every item within TabWidget Page

是否可以重置/清除每 QTabWidgets 个页面项目?

我使用设计器创建了 UI。

我不想静态地编写一个清晰的掩码函数,因为我们现在 UI 可能会变得非常复杂,并且对于以后添加的每个项目都需要相当多的维护工作。

如果这不可能,我也可以循环遍历每个子项并调用 clear( ) 函数,如果有人可以给我提示如何获取它们的指针/地址。

QTabWidget 的所有页面都是 QWidget 类型的 QObject。后者有 function

const QObjectList & QObject::children() const

因此您可以获得所有 children,遍历它们并调用 clear()。您可能应该检查 isWidgetType() 以确保您只有小部件,并且如果您计划让小部件具有自己的 children(即 QGroupBox),则可能还递归地设计此功能。