日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Qt】Qt Creator中布局器详解

發布時間:2024/4/24 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Qt】Qt Creator中布局器详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

00. 目錄

文章目錄

    • 00. 目錄
    • 01. 概述
    • 02. 開發環境
    • 03. 布局器概述
    • 04. 布局屬性設置
    • 05. 彈簧條屬性和作用
    • 06. 附錄

01. 概述

關于 Qt 布局管理,有專門的幫助文檔頁面Layout Management。本章的主要內容就是介紹布局管理的知識,Qt 設計師里面不僅有布局器的控件可以拖動使用,還可以在窗體里面選擇控件,然后點擊設計師上面的工具按鈕自動添加布局器。本節首先大致介紹一下 Qt 設計師里面關于布局器的操作界面。

Qt 的窗口主要內容包括: 布局的樣式 , 基于UI界面設置布局 , 基于API設置布局。

Qt 窗口布局是指將多個子窗口按照某種排列方式將其全部展示到對應的父窗口中的一種處理方式。在 Qt 中常用的布局樣式有三種,分別是:

02. 開發環境

Windows系統:Windows10

Qt版本:Qt5.15或者Qt6

03. 布局器概述

在設計師和QtCreator中左邊列表,可以看到 Layouts 欄目里有四個布局器:
◆ 垂直布局器 QVBoxLayout:將內部的控件按照垂直方向排布,一行一個。
◆ 水平布局器 QHBoxLayout:將內部的控件按照水平方向排布,一列一個。
◆ 網格布局器 QGridLayout:按照多行、多列的網格排布內部控件,單個控件可以占一個格子或者占據連續多個格子。
◆ 表單布局器 QFormLayout:Qt 設計師里把這個布局器稱為窗體布局器,窗體布局器這個叫法不準。這個布局器就是對應網頁設計的表單,通常用于接收用戶輸入。該布局器就如它的圖標一樣,就是固定的兩列控 件,第一列通常是標簽,第二列是輸入控件或含有輸入控件的布局器。
◆ Qt 另外還有一個堆棧布局器 QStackedLayout,通常用于容納多個子窗口布局,每次只顯示其中一個。這個布局器隱含在堆棧部件 QStackedWidget 內部,一般直接用 QStackedWidget 就行了,不需要專門設置堆棧布局器。堆棧部件和堆棧布局器留到后面容器類控件的 章節講解。

與布局緊密關聯的是兩個空白條(或叫彈簧條):Horizontal Spacer 水平空白條和 Vertical Spacer 垂直空白條,空白條的作用就是填充無用的空隙,如果不希望看到控件拉伸后變丑,就可以塞一個空白條到布局器里面,布局器通常會優先拉伸空白條。兩種空白條的類名都是 QSpacerItem,兩種空白條只是默認的拉伸方向不一樣。

對界面進行布局有兩種方式,第一種方式是預先設計好整體布局,先拖入布局器,后拖入功能控件到布局器里面,這種方式不太方便,因為腦海里得提前做好布局規劃。第二 種方式才是是最常用的,先把所有功能控件拖入主界面,然后根據設置好的功能控件來決定如何進行布局。Qt 的布局器中既可以添加普通功能控件,也可以添加其他布局器,所以布局器的使用是非常靈活的。界面里的控件,可以先按行排列布局,再按列排列布局;或者反過來,先排好列,再 排好行;當然也可以直接用網格布局器或表單布局器。可以按實際控件的關系和用戶喜好進行布局。

Qt 設計師和Qt Creator左邊列的四個布局器,其實不是經常需要拖動它們到主界面,更為常見的操作是選中控件,然后點擊設計師上面布局工具欄里的快捷按鈕實現布局,這些快捷按鈕的功能更豐 富,也更常用。布局工具欄有 8 個按鈕,下面依次介紹:
① 將選中控件添加到水平布局器排列。
② 將選中控件添加到垂直布局器排列。
③ 將選中控件添加到水平分裂器排列。
④ 將選中控件添加到垂直分裂器排列。
⑤ 將選中控件添加到網格布局器排布,行列的數目不限。
⑥ 將選中控件添加到表單布局器排布,該布局器固定為兩列控件。
⑦ 打破布局,即保留布局器內部的控件和子布局,消除當前選中的布局器。
⑧ 根據需要顯示的內容,自動調整控件或窗體的尺寸,相當于調用一次 adjustSize() 函數。

【溫馨提示】

這里需要說明一下,布局器和空白條的基類其實都是 QLayoutItem,布局器僅用于輔助功能,幫助自動調整窗口里的控件布局,并不是實體控件,沒有 show() 之類的顯示函數,不能單獨存在,必須要有實體控件才能設置布局器。
我們之前介紹的都是實體控件,基類都是 QWidget ,都可以單獨存在,有 show() 之類的顯示函數。
分裂器具有布局功能,但分裂器的基類是 QFrame,分裂器是一個實體控件,分裂器不同于布局器。

04. 布局屬性設置

當我們給窗口設置了布局之后,選中當前窗口,就可以看到在其對應的屬性窗口中除了有窗口屬性,還有一個布局屬性,下面給大家介紹一下這些屬性:

通過設置布局上下左右的邊距,或者是控件之間的距離也可以使界面看起來更加美觀。

05. 彈簧條屬性和作用

在進行窗口布局的時候為了讓界面看起來更加美觀,需要調整控件的位置,比如:靠左,靠右,居中,又或者我們需要調節兩個控件之間的距離,以上這些需求使用彈簧都是可以實現的。

關于彈簧的 sizeType 屬性,有很多選項,一般常用的只有兩個:

  • Fixed: 得到一個固定大小的彈簧
  • Expanding: 得到一個可伸縮的彈簧,默認彈簧撐到最大

06. 附錄

6.1 Qt教程匯總
網址:https://dengjin.blog.csdn.net/article/details/115174639

總結

以上是生活随笔為你收集整理的【Qt】Qt Creator中布局器详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。