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();
}
 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM