Qt 【widget如何铺满窗口】
刚接触qt不是很长时间,都是使用ui拖拽控件实现界面,然后发现有些问题就是控件一旦多了起来,拖拽就不好控制了,然后就转而使用纯代码开发。
一下是碰到第一个问题:
创建一个MainWidget;
MainLayout(mainWidget);
showBtn("show");
imageLabel("image");
connect(showBtn,&QPushButton::clicked,this,&Myapp::showInfo);
一般需要窗口初始化 resize(300,300);【没有的话显示出来的小窗口会有些别扭】
那么这时候运行显示的widget是很小的,本以为是位置的问题,或者setAlignment();
并非如此,widget中没有setAlignment,位置move那是移动了窗口,都不是。
于是我在槽之中添加 widget.size();得到其大小Qsize(93,59);
于是修改widget->resize(300,300)【注意其中大小就是你窗口的大小】
以下是源码:
main
{
resize(300,300);
mainWidget = new QWidget(this);
mainLayout = new QVBoxLayout(mainWidget);
imageLabel = new QLabel("image");
ShowBtn = new QPushButton("Show");
mainWidget->resize(300,300);
mainLayout->addWidget(imageLabel);
mainLayout->addWidget(ShowBtn);
//mainLayout->setAlignment(mainWidget,Qt::AlignHCenter);
connect(ShowBtn,&QPushButton::clicked,this,&NoUi::showInfo);
}
void Myapp::showInfo()
{
QMessageBox::information(this,"tips","hello?");
qDebug()<<mainWidget->size();
}