程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> widget如何鋪滿窗口【純代碼】,widget鋪滿窗口

widget如何鋪滿窗口【純代碼】,widget鋪滿窗口

編輯:C++入門知識

widget如何鋪滿窗口【純代碼】,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();
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved