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