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