QT Create 學習之 自動布局

2021-08-08 22:24:45 字數 1665 閱讀 8343

在ui最大化過程中,為保持介面美觀,需控制項根據輸出大小自動調整。

可以通過讀取輸出尺寸進行計算,也可通過 qt create 自帶的布局策略。

(1)計算方式

整體布局如下圖所示

**如下:

//全屏引數

screen_width = deskwgt->width();

screen_height = deskwgt->height();

//調整位置

ui->listwidget_channel->move(10, 0);

ui->listwidget_channel->resize(screen_width/10-10, screen_height/2 - 10);

ui->listwidget_alarm->move(10, screen_height/2+10);

ui->listwidget_alarm->resize(screen_width/10-10,screen_height/2 - 10);

ui->listwidget_model->move(screen_width/10+10, 0);

ui->listwidget_model->resize(screen_width/10-10, screen_height);

ui->listwidget_normal->move(screen_width/5+10, screen_height/20);

ui->listwidget_normal->resize(screen_width/10*8-10, screen_height/20*18);

先取得輸出尺寸,然後根據各控制項的面積比例進行 resize 和 move

全屏顯示:

dialog m_dialog;

m_dialog.resize(qsize(screen_width, screen_height));

m_dialog.show();

直接對主對話方塊進行縮放至全屏。

(2)布局策略

整體布局如下圖所示

先 ctrl 選中左側兩個 tablewidget,右鍵布局方式選擇 垂直布局

之後設定 layoutstretch 比例為1,1,表示不管如何縮放,這兩個控制項垂直比例為1:1

之後 ctrl 選擇該布局及中側 tablewidget 及右側 label

右鍵布局方式選擇 水平布局

比例設定成1,1,8,即設定了縮放時橫向比例

最後一步,右鍵空白處選擇在窗體布局中布局,或者柵格布局即可。

效果如下圖

自動布局筆記(學習)

自身內容尺寸約束 一般來說,要確定乙個檢視的精確位置,至少需要4個布局約束 以確定水平位置x 垂直位置y 寬度w和高度h 但是,某些用來展現內容的使用者控制項,例如文字控制項uilabel 按鈕uibutton 檢視uiimageview等,它們具有 自身內容尺寸 intrinsic content...

table之固定布局與自動布局

很難忘的一次創業經歷,雖然各種待遇福利什麼的不盡如意,但是從這家公司我收穫了好多,遇到那麼多好的人,我覺得我真的好幸運。一直覺得table就是展示資料用的,所以對它的認知少之又少。因為後來公司就我乙個前端,所以除了要做新需求所需頁面還要改之前專案的bug,起初真的好煩躁,因為通篇都是table,但是...

iOS自動布局之VisualFormat

vfl是蘋果推出的用來autolayout布局的一門比較形象的語言,本身為字串,雖然用起來比較麻煩,但是相比直接使用蘋果的另乙個套布局方案要少寫一些 那麼問題來了,github上那麼多自動布局的框架,簡單又好用,為什麼要用這麼複雜的 去布局呢,之前我也這麼想,直到有一天自己想封裝乙個框架的的時候才發...