Есть QMainWindow, в котором есть скомпонованные таким вот образом отдельные виджеты, когда экран не растянут, то
выглядит так:
когда растянут так:
У MyWidget есть minSizeHint, который он в итоге и занимает по высоте, хотя спокойно растягивается по горизонтали.
Проблема в том, что почему-то черная область не накрывает зеленую.
Как это исправить?
QWidget * centralView = new MyWidget;
centralView->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
QPalette Pal;
Pal.setColor(QPalette::Background, Qt::black);
QPalette PalYellow;
PalYellow.setColor(QPalette::Background, Qt::yellow);
QPalette PalGreen;
PalGreen.setColor(QPalette::Background, Qt::green);
centralView->setAutoFillBackground(true);
centralView->setPalette(Pal);
QWidget * data = new QWidget;
data->setPalette(PalYellow);
data->setAutoFillBackground(true);
data->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
QPushButton * but = new QPushButton("Тест Кнопка");
QVBoxLayout* phbxLayout = new QVBoxLayout;
phbxLayout->addWidget(but,Qt::AlignTop);
data->setLayout(phbxLayout);
layout->addWidget(centralView, 0,0,Qt::AlignBottom);
layout->addWidget(data, 1,0,Qt::AlignBottom);
QWidget* empty = new QWidget;
empty->setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum);
empty->setLayout(layout);
empty->setPalette(PalGreen);
empty->setAutoFillBackground(true);
setCentralWidget(empty);