我正在尝试最大化我的应用程序,同时在MainWindow内最大化的侏儒。我还需要小部件来响应主窗口的大小调整,尝试了一些事情,但没有完全正常工作。有什么想法吗?
由于
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//this->setGeometry(50,50, 1280, 768);
setWindowState(Qt::WindowMaximized);
//MainWindow::showMaximized();
m_pWebView = new QWebView(this);
//set position and size
m_pWebView->setGeometry(0,0,this->width(), this->height());
m_pWebView->load(QUrl("http://csm.nathan"));
//m_pWebView->show();
}
MainWindow::~MainWindow()
{
delete ui;
}
答案 0 :(得分:4)
通常当你在QtCreator中创建一个新项目时,你的QMainWindow中应该有一个“centralWidget”。
确保在其中使用QGridLayout:
this->centralWidget()->setLayout(new QGridLayout);
然后将您的QWebView添加到此小部件的布局中:
this->centralWidget()->layout()->addWidget(m_pWebView);
只要您的WebView是网格中唯一的一个元素,这应该可以完成工作。
另一种解决方案是使用QtDesigner:
这将完全相同,但存储在.ui文件中而不是.cpp文件中。