Страница загружается нормально, но не помещается в соответствующее пространство
Это потому, что размер QWebEngineView
неизвестен, пока не завершится загрузка, так что вам нужноподключиться к его сигналу loadFinished
и изменить размер label_pic
:
connect(view, &QWebEngineView::loadFinished, [this]() {this->ui->label_pic->resize(this->ui->csWindow->size());});
Я хочу изменить размер веб-страницы при перемещении разделителей
Затемтакже вам необходимо подключиться к сигналу QSplitter::splitterMoved
от всех ваших сплиттеров и изменить размеры как csWindow, так и label_pic следующим образом:
connect(ui->splitter, &QSplitter::splitterMoved, [this]() { this->view->resize(this->ui->csWindow->size()); this->ui->label_pic->resize(this->ui->csWindow->size());});
connect(ui->splitter_2, &QSplitter::splitterMoved, [this]() { this->view->resize(this->ui->csWindow->size()); this->ui->label_pic->resize(this->ui->csWindow->size());});
connect(ui->splitter_3, &QSplitter::splitterMoved, [this]() { this->view->resize(this->ui->csWindow->size()); this->ui->label_pic->resize(this->ui->csWindow->size());});
и учтите, что это будет работать лучше, если вы установите макет для своего окна, либо изконструктор или добавление кода, например:
QGridLayout *layout = new QGridLayout;
layout->addWidget(ui->splitter_3);
this->ui->centralWidget->setLayout(layout);
и помните, что вы должны сделать все операторы подключения перед загрузкой представления.