웹 브라우저를 첫 번째 Qt 프로젝트로 만들었습니다. 놀랍습니다. 왜 setWindowState(Qt::WindowMaximized)
을 호출하면 창 지오메트리가 변경되지 않는지 궁금합니다. mainwindow.h에서Qt Window 기하 도형을 변경하지 마십시오 (C++)
: mainwindow.cpp에서
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
private:
Ui::MainWindow *ui;
};
:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
// this->geometry() is the same here...
setWindowState(Qt::WindowMaximized);
ui->webView->setGeometry(0, 60, geometry().width(), geometry().height()-60);
// ...as it is here.
}
것은 당신이, 내가 가진 응용 프로그램을 시작하기 위해 노력하고있어 말할 수 있습니다으로이 코드를 창이 최대화되고 QWebView도 최대화됩니다. 기본적으로 메인 윈도우의 크기가 변경 될 때마다 업데이트 높이와 너비로 ui->webView->setGeometry
을 호출하기를 원합니다. 하지만 MainWindow::geometry
은 업데이트되지 않는 것 같습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
좋습니다,이 경우 그리드 레이아웃이 가장 적합할까요? – Nick
QBoxLayout 또는 QStackedLayout을 사용하면 문제가 없습니다. 60 픽셀 여백은 부모 위젯의 setContentsMargins() 함수로 설정할 수 있습니다. –