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