Как перебрать все виджеты в окне?

Я знаю, что для QObject есть способ найти все QObject, которые считаются дочерними, но я не знаю, означает ли это, что я смогу найти все виджеты в MainWindow. Кроме того, я не хочу найти никаких виджетов.

Я спрашиваю, потому что я пытаюсь стилизовать прозрачное окно, и цвет фона, очевидно, не применяется ко всем виджетам. Тем не менее, я применяю это к каждому виджету, о котором я могу думать. Я не хочу менять глобальную непрозрачность - текст должен оставаться непрозрачным.

На рисунке ниже приведен код для настройки прозрачности, а также изображение самого окна. Как вы можете видеть, область редактирования текста окрашена. Но я тоже это устанавливаю (это "Эд"), так что я не знаю, почему это так!

Рис кода и окна.

1 ответ

Решение

Ты можешь использовать QObject::findChildren<QWidget*>() найти все детские виджеты.

Другие вопросы по тегам