Qt MainWindow布局Layout出现问题,显示出错解决方案

如果你在主窗口进行Qt布局的时候,显示出现如下

是不是很绝望,查边网上各种布局显示,发现到头来一场空,绝望!!

好了进入正题,这是因为主窗口以及有了自己默认的Layout,你在自己添加也是没有用的(喊破喉咙也没用)

但是总得有解决办法,他不让我们布局,我们凿一个洞就是了,这个锤子就是

QMainWindow::setCentralWidget(QWidget *widget)

Sets the given widget to be the main window's central widget.(其实就是凿洞),现在工具有了

就差东风了:下面我带你火烧赤壁

1、在主窗口的构造函数中

建立一个布局

QWidget *widget=new QWidget(this);

this->setCentralWidget(widget);

2、设置自己的布局

QVBoxLayout *btnlayout = new QVBoxLayout(this);//建立垂直显示

这里面进行自己的布局定义

比如建立laber 建立btn 等

3、添加到定义的wight里面

centralWidget()->setLayout(btnlayout);

 

下面是我提供的参考例程:

在主窗口构造函数中添加如下代码

QWidget *widget=new QWidget(this);

this->setCentralWidget(widget);

this->resize(240,180);

QPushButton *btn = new QPushButton(this);

btn->setText("想要宝藏嘛");

QVBoxLayout *btnlayout = new QVBoxLayout(this);//建立垂直显示

btnlayout->setDirection(QBoxLayout::TopToBottom);

QLabel *Label = new QLabel(this);

Label->setText("恭喜进来快点他!!!");

btnlayout->addWidget(Label);

btnlayout->addWidget(btn);

centralWidget()->setLayout(btnlayout);

下面附上我的结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值