如何遍历 window 中的所有小部件?

How to iterate over all widgets in a window?

我知道对于 QObject,有一种方法可以找到所有被视为子对象的 QObject - 但我不知道这是否意味着我能够在 MainWindow 中找到所有小部件。另外,我不想找到任何非小部件。

我问是因为我正在尝试设置 window 半透明的样式,并且背景颜色显然没有应用于所有小部件。然而,我正在将它应用到我能想到的每个小部件上。我不想更改全局不透明度 - 文本应保持不透明。

下图有设置半透明度的代码,以及window本身的图片。如您所见,文本编辑区域是彩色的。但是我也在设置它(它是'Ed'),所以我不知道为什么会这样!

Pic of the code and the window.

您可以使用 QObject::findChildren<QWidget*>() 查找所有子窗口小部件。