Windows圖形界面(GUI)-QT-C/C++ - QT Tab Widget

  • 公開視頻 ->?鏈接點擊跳轉公開課程
  • 博客首頁 ->????鏈接點擊跳轉博客主頁

目錄

一、概述

1.1 什么是?QTabWidget?

1.2 使用場景

二、常見樣式

2.1 選項卡式界面

2.2 動態添加和刪除選項卡

2.3 自定義選項卡標題和圖標

三、屬性設置

3.1 添加頁面(Add Page)

3.2 刪除頁面(Remove Page)

3.3 頁面標題(Tab Text)

3.4 頁面圖標(Tab Icon)

3.5 當前選項卡索引(Current Index)

四、內容處理

4.1 添加頁面

4.2 插入頁面

4.3 刪除頁面

4.4 設置頁面標題

4.5 獲取頁面標題

4.6 設置頁面圖標

4.8 獲取當前頁面索引

4.9 設置當前頁面索引

五、高級功能

5.1 自定義選項卡樣式

5.2 選項卡位置

5.3 選項卡關閉按鈕

5.4 選項卡拖拽


一、概述

1.1 什么是?QTabWidget

QTabWidget?是 Qt 框架中的一個重要控件,用于在一個窗口中顯示多個頁面。每個頁面可以包含不同的控件和內容,用戶可以通過點擊選項卡來切換不同的頁面。

QTabWidget?提供了一個簡潔、有序的界面,特別適合在有限的屏幕空間內顯示多個功能或信息組。

1.2 使用場景

  • 多頁面顯示:當需要在同一個窗口中顯示多個頁面時,QTabWidget?是一個理想的選擇。每個頁面可以包含不同的控件和內容,用戶可以通過點擊選項卡來切換頁面。

  • 界面整潔:在有限的屏幕空間內,QTabWidget?可以幫助開發者將多個功能或信息組組織得井井有條,保持界面的整潔和有序。

  • 動態管理QTabWidget?支持動態添加和刪除選項卡,使得開發者可以根據需要靈活地管理頁面。

二、常見樣式

2.1 選項卡式界面

QTabWidget?提供了一個選項卡式的界面,每個選項卡對應一個頁面。用戶可以通過點擊選項卡來切換不同的頁面。

2.2 動態添加和刪除選項卡

QTabWidget?支持動態添加和刪除選項卡,開發者可以根據需要隨時添加或刪除頁面。

2.3 自定義選項卡標題和圖標

每個選項卡可以設置標題和圖標,使得界面更加直觀和美觀。

三、屬性設置

3.1 添加頁面(Add Page)

使用?addTab(QWidget *widget, const QString &label)?方法可以向?QTabWidget?添加一個新頁面,并設置頁面的標題。

QTabWidget *tabWidget = new QTabWidget(this);
QWidget *page1 = new QWidget();
tabWidget->addTab(page1, "Page 1");

3.2 刪除頁面(Remove Page)

使用?removeTab(int index)?方法可以從?QTabWidget?中刪除指定位置的頁面。

tabWidget->removeTab(0); // 刪除第一個頁面

3.3 頁面標題(Tab Text)

使用?setTabText(int index, const QString &label)?方法可以設置指定位置頁面的標題。

tabWidget->setTabText(0, "New Page 1 Title");

3.4 頁面圖標(Tab Icon)

使用?setTabIcon(int index, const QIcon &icon)?方法可以設置指定位置頁面的圖標。

tabWidget->setTabIcon(0, QIcon(":/images/icon.png"));

3.5 當前選項卡索引(Current Index)

使用?setCurrentIndex(int index)?方法可以設置當前顯示的頁面索引,使用?currentIndex() const?方法可以獲取當前顯示頁面的索引。

tabWidget->setCurrentIndex(1); // 切換到第二個頁面
int currentIndex = tabWidget->currentIndex(); // 獲取當前頁面索引

四、內容處理

4.1 添加頁面

  • addTab(QWidget *widget, const QString &label):向?QTabWidget?添加一個新頁面,并設置頁面的標題。

4.2 插入頁面

  • insertTab(int index, QWidget *widget, const QString &label):在指定位置插入一個新頁面,并設置頁面的標題。

4.3 刪除頁面

  • removeTab(int index):從?QTabWidget?中刪除指定位置的頁面。

4.4 設置頁面標題

  • setTabText(int index, const QString &label):設置指定位置頁面的標題。

4.5 獲取頁面標題

  • tabText(int index) const:獲取指定位置頁面的標題。

4.6 設置頁面圖標

  • setTabIcon(int index, const QIcon &icon):設置指定位置頁面的圖標。

4.8 獲取當前頁面索引

  • currentIndex() const:獲取當前顯示頁面的索引。

4.9 設置當前頁面索引

  • setCurrentIndex(int index):設置當前顯示頁面的索引。

五、高級功能

5.1 自定義選項卡樣式

QTabWidget?允許開發者通過樣式表(StyleSheet)自定義選項卡的外觀。例如,可以設置選項卡的背景顏色、字體、邊框等。

tabWidget->setStyleSheet("QTabBar::tab { background-color: #f0f0f0; color: #000; }");

5.2 選項卡位置

QTabWidget?允許開發者設置選項卡的位置,可以放置在窗口的頂部、底部、左側或右側。

tabWidget->setTabPosition(QTabWidget::South); // 將選項卡放置在底部

5.3 選項卡關閉按鈕

QTabWidget?支持在每個選項卡上添加關閉按鈕,用戶可以通過點擊關閉按鈕來關閉頁面。

tabWidget->setTabsClosable(true);
connect(tabWidget, &QTabWidget::tabCloseRequested, [=](int index) {tabWidget->removeTab(index);
});

5.4 選項卡拖拽

QTabWidget?支持選項卡的拖拽功能,用戶可以通過拖拽選項卡來重新排列頁面的順序。

tabWidget->setMovable(true);

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/67847.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/67847.shtml
英文地址,請注明出處:http://en.pswp.cn/web/67847.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[MRCTF2020]Ez_bypass1(md5繞過)

[MRCTF2020]Ez_bypass1(md5繞過) ?? 這道題就是要繞過md5強類型比較,但是本身又不相等: md5無法處理數組,如果傳入的是數組進行md5加密,會直接放回NULL,兩個NuLL相比較會等于true; 所以?id[]1&gg…

90,【6】攻防世界 WEB Web_php_unserialize

進入靶場 進入靶場 <?php // 定義一個名為 Demo 的類 class Demo { // 定義一個私有屬性 $file&#xff0c;默認值為 index.phpprivate $file index.php;// 構造函數&#xff0c;當創建類的實例時會自動調用// 接收一個參數 $file&#xff0c;用于初始化對象的 $file 屬…

Jenkins安裝部署(以及常見報錯解決方案),jdk版本控制器sdkman

目錄 零、環境介紹 一、Jenkins安裝 1、插件安裝以及更換插件源 2、修改jenkins時區 二、sdkman安裝&#xff08;可選&#xff09; 1、sdkman常用方法 2、sdkman常用方法演示 2.1、查看可用的jdk 2.2、下載jdk并切換版本 三、jenkins報錯解決 1、下載sdkman后systemc…

大數據挖掘--兩個角度理解相似度計算理論

文章目錄 0 相似度計算可以轉換成什么問題1 集合相似度的應用1.1 集合相似度1.1文檔相似度1.2 協同過濾用戶-用戶協同過濾物品-物品協同過濾 1.2 文檔的shingling--將文檔表示成集合1.2.1 k-shingling1.2.2 基于停用詞的 shingling 1.3 最小哈希簽名1.4 局部敏感哈希算法&#…

關于貪心學習的文筆記錄

貪心&#xff0c;顧名思義就是越貪越好&#xff0c;越多越有易&#xff0c;他給我的感覺是&#xff0c;通常是求最大或最小問題&#xff0c;相比于動態規劃貪心讓人更加琢磨不透&#xff0c;不易看出方法&#xff0c;為此在這記錄我所見過的題型和思維方法&#xff0c;以便回頭…

c語言練習題【數據類型、遞歸、雙向鏈表快速排序】

練習1&#xff1a;數據類型 請寫出以下幾個數據的數據類型 整數 a a 的地址 存放a的數組 b 存放a的地址的數組 b的地址 c的地址 指向 printf 函數的指針 d 存放 d的數組 整數 a 的類型 數據類型是 int a 的地址 數據類型是 int*&#xff08;指向 int 類型的指針&#xff09; …

聯想拯救者Y9000P IRX8 2023 (82WK) 原廠Win11 家庭中文版系統 帶一鍵還原功能 安裝教程

安裝完重建winre一鍵還原功能&#xff0c;和電腦出廠時的系統狀態一模一樣。自動機型專用軟件&#xff0c;全部驅動&#xff0c;主題壁紙&#xff0c;自動激活&#xff0c;oem信息等。將電腦系統完全恢復到出廠時狀態。 支持機型 (MTM) : 82WK 系統版本&#xff1a;Windows 1…

搜索與圖論復習2最短路

單源最短路---所有邊權是正數(Dijkstra算法O(n^2)--稠密圖(鄰接矩陣)和堆優化的Dijkstra算法O(mlogn)--稀疏圖(鄰接表)) 或存在負邊權(Bellman-ford貝爾曼福特算法O(nm)和SPFA一般O(m) 最壞O(nm) ) 多源最短路---Floyd算法O(n^3) 一、迪杰斯特拉算法(Dijkstra)&#xff1a;1…

Unity GetLocalizedString()失效問題

問題&#xff1a; 在一個自定義類中調用GetLocalizedString()的方法&#xff0c;是無效的&#xff08;創建這個自定義類的腳本沒掛載到場景中&#xff09;。 解決方法: 將自定義類的GetLocalizedString()方法換個地方&#xff0c;換到在場景中掛載的一個腳本實例&#xff08;…

【建站】專欄目錄

建站專欄的想法有很多&#xff0c;想寫窮鬼如何快速低成本部署前后端項目讓用戶能訪問到&#xff0c;如何將網站收錄到百度&#xff0c;bing&#xff0c;google并優化seo讓搜索引擎搜索到網站&#xff0c;想寫如何把網站加入google廣告或者接入stripe信用卡首款平臺收款&#x…

深入解析“legit”的地道用法——從俚語到正式表達:Sam Altman用來形容DeepSeek: legit invigorating(真的令人振奮)

深入解析“legit”的地道用法——從俚語到正式表達 一、引言 在社交媒體、科技圈甚至日常對話中&#xff0c;我們經常會看到或聽到“legit”這個詞。比如最近 Sam Altman 在 X&#xff08;原 Twitter&#xff09;上發的一條帖子中寫道&#xff1a; we will obviously deliver …

Vue 圖片引用方式詳解:靜態資源與動態路徑訪問

目錄 前言1. 引用 public/ 目錄2. assets/ 目錄3. 遠程服務器4. Vue Router 動態訪問5. 總結6. 擴展&#xff08;圖片不顯示&#xff09; 前言 &#x1f91f; 找工作&#xff0c;來萬碼優才&#xff1a;&#x1f449; #小程序://萬碼優才/r6rqmzDaXpYkJZF 在 Vue 開發中&#x…

DeepSeek-R1 本地部署教程(超簡版)

文章目錄 一、DeepSeek相關網站二、DeepSeek-R1硬件要求三、本地部署DeepSeek-R11. 安裝Ollama1.1 Windows1.2 Linux1.3 macOS 2. 下載和運行DeepSeek模型3. 列出本地已下載的模型 四、Ollama命令大全五、常見問題解決附&#xff1a;DeepSeek模型資源 一、DeepSeek相關網站 官…

JVM運行時數據區域-附面試題

Java虛擬機在執行Java程序的過程中會把它所管理的內存劃分為若干個不同的數據區域。這些區域 有各自的用途&#xff0c;以及創建和銷毀的時間&#xff0c;有的區域隨著虛擬機進程的啟動而一直存在&#xff0c;有些區域則是 依賴用戶線程的啟動和結束而建立和銷毀。 1. 程序計…

什么是LPU?會打破全球算力市場格局嗎?

在生成式AI向垂直領域縱深發展的關鍵節點&#xff0c;一場靜默的芯片革命正在改寫算力規則。Groq研發的LPU&#xff08;Language Processing Unit&#xff09;憑借其顛覆性架構&#xff0c;不僅突破了傳統GPU的性能天花板&#xff0c;更通過與DeepSeek等國產大模型的深度協同&a…

如何構建ObjC語言編譯環境?構建無比簡潔的clang編譯ObjC環境?Windows搭建Swift語言編譯環境?

如何構建ObjC語言編譯環境? 除了在線ObjC編譯器&#xff0c;本地環境Windows/Mac/Linux均可以搭建ObjC編譯環境。 Mac自然不用多說&#xff0c;ObjC是親兒子。(WSL Ubuntu 22.04) Ubuntu可以安裝gobjc/gnustep和gnustep-devel構建編譯環境。 sudo apt-get install gobjc gnus…

2月3日星期一今日早報簡報微語報早讀

2月3日星期一&#xff0c;農歷正月初六&#xff0c;早報#微語早讀。 1、多個景區發布公告&#xff1a;售票數量已達上限&#xff0c;請游客合理安排行程&#xff1b; 2、2025春節檔總票房破70億&#xff0c;《哪吒之魔童鬧海》破31億&#xff1b; 3、美宣布對中國商品加征10…

DeepSeek 原理解析:與主流大模型的差異及低算力優勢

在人工智能大模型蓬勃發展的浪潮中&#xff0c;DeepSeek 以其獨特的技術路線和出色的性能表現脫穎而出。與主流大模型相比&#xff0c;DeepSeek 不僅在技術原理上有著顯著的差異&#xff0c;還展現出了在較低算力下達到 OpenAI API 水平的卓越能力。本文將深入剖析這些獨特之處…

C++ Primer 標準庫vector

歡迎閱讀我的 【CPrimer】專欄 專欄簡介&#xff1a;本專欄主要面向C初學者&#xff0c;解釋C的一些基本概念和基礎語言特性&#xff0c;涉及C標準庫的用法&#xff0c;面向對象特性&#xff0c;泛型特性高級用法。通過使用標準庫中定義的抽象設施&#xff0c;使你更加適應高級…

【Numpy核心編程攻略:Python數據處理、分析詳解與科學計算】2.6 廣播機制核心算法:維度擴展的數學建模

2.6 廣播機制核心算法&#xff1a;維度擴展的數學建模 目錄/提綱 #mermaid-svg-IfELXmhcsdH1tW69 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-IfELXmhcsdH1tW69 .error-icon{fill:#552222;}#mermaid-svg-IfELXm…