У меня есть окно, полное QPushButtons и QLabels, а также различные другие интересные QWidgets, все из которых динамически создаются с использованием различных объектов QLayout... и то, что я хотел бы сделать, иногда делает некоторые из этих виджетов невидимыми, То есть невидимые виджеты по-прежнему занимают свое нормальное пространство в макете окна, но они не будут отображаться: вместо этого пользователь просто увидит цвет фона окна в прямоугольнике/области виджета.
hide() и/или setVisible(false) не будет делать трюк, потому что они полностью исключают виджет из макета, позволяя другим виджетам расширяться, чтобы заняться "новым доступным" пространством; эффект, который я хочу избежать.
Предположим, что я мог бы создать подкласс каждого типа QWidget, который переопределяет paintEvent() (и mousePressEvent() и т.д.) как необязательный (если необходимо), но я бы предпочел решение, t потребовать от меня создать три десятка различных подклассов QWidget.