QT界面自適應大小與跨UI文件實現界面自適應大小

最近由於工作需要學習了一下QT,把花費大量時間學習的點分享出來,希望幫到有需求者。

在UI界面中我們特別需要界面內的部分部件能夠隨窗體的大小變化而變化,在QT中要實現這點,必須得爲frame或者widget添加布局,QT中佈局主要有圖1所示的四種,佈局的使用參見文章:" "。

圖1

添加與未添加布局的控件在圖標上顯示如圖2所示,

圖2

運行後效果圖如下

小窗口顯示

全屏窗口顯示

如果在同一個UI文件中設置自適應,可以很容易完成,有時候我們需要對UI文件進行嵌套,如在1.ui的某個frame中顯示2.ui窗口,這個時候除了在窗口中添加布局之外我們還需要在1.ui文件外應的.cpp文件中手動將2.ui中的窗口添加到1.ui的佈局中,如下代碼:

m_Canvas = new VideoCanvas(ui->CanvasFrme);
ui->CanvasFrameLayout->addWidget(m_Canvas);

其中VideoCanvas爲2.ui文件中窗口,CanvasFrameLayout爲1.ui中佈局控件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章