QMainWindow使用QTabWidget添加多個QWidget

QTabWidget添加其它Wdiget的2個函數如下:

QTabWidget的介紹可參考官網QTabWidget Class | Qt Widgets | Qt 6.9.1

直接上代碼,代碼如下:

#include <QMainWindow>#include <QApplication>
#include <QVBoxLayout>
#include <QPushButton>
#include <QLineEdit>
#include <QScreen>int nWidth = 800;
int nHeight = 600;// 移動窗口到屏幕中央
void MoveCenter(QMainWindow& w){// 獲取屏幕信息QScreen *screen = QGuiApplication::primaryScreen();QRect screenGeometry = screen->geometry();int screenWidth = screenGeometry.width();int screenHeight = screenGeometry.height();// 計算窗口居中位置int x = (screenWidth - nWidth) / 2;int y = (screenHeight - nHeight) / 2;w.move(x, y);  
}int main(int argc, char *argv[])
{QApplication a(argc, argv);QMainWindow w;w.setGeometry(0,0,nWidth,nHeight);MoveCenter(w);// 設置中央控件QTabWidget *centralWidget = new QTabWidget(&w);w.setCentralWidget(centralWidget);//////////////////// widget1 //////////////////////////////QWidget *widget1 = new QWidget();QVBoxLayout *mainlayout1 = new QVBoxLayout(widget1);// 子水平布局(用于 Button 1 和 Button 2 水平排列)QHBoxLayout *buttonLayout1 = new QHBoxLayout();buttonLayout1->addWidget(new QPushButton("Button 1"));buttonLayout1->addWidget(new QPushButton("Button 2"));// 添加按鈕布局到主布局mainlayout1->addLayout(buttonLayout1); //index =0// 設置拉伸因子,使 QLineEdit 占據剩余空間QLineEdit *lineEdit = new QLineEdit();lineEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);mainlayout1->addWidget(lineEdit); //index =1mainlayout1->setStretch(0, 0);  // 按鈕布局不拉伸mainlayout1->setStretch(1, 1);  // QLineEdit 拉伸填充剩余空間//////////////////// widget2 //////////////////////////////QWidget *widget2 = new QWidget();// 主垂直布局(用于上下排列按鈕和輸入框)QVBoxLayout *mainlayout2 = new QVBoxLayout(widget2);// 子水平布局(用于 Button 1 和 Button 2 水平排列)QHBoxLayout *buttonLayout2 = new QHBoxLayout();buttonLayout2->addWidget(new QPushButton("Button 1"));buttonLayout2->addWidget(new QPushButton("Button 2"));// 添加按鈕布局到主布局mainlayout2->addLayout(buttonLayout2);// 添加 QLineEdit 到主布局(默認在按鈕下方)QLineEdit *lineEdit2 = new QLineEdit();mainlayout2->addWidget(lineEdit2);//使用彈簧填充剩余距離mainlayout2->addItem(new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding));//////////////////////// 添加tabWdiget ///////////////centralWidget->addTab(widget1,"1");centralWidget->addTab(widget2,"2");w.show();return a.exec();
}

上面的代碼運行結果如下:

網上其它的資料可參考:QT界面:tabWidget選項卡使用小結_qt怎么將ui界面放入到tabwidget-CSDN博客

QTabWidget——創建標簽頁的多頁面切換_qt tabwidget 標簽切換 信號-CSDN博客

附加:

1、QDataStream 類實現了 C++ 基本數據類型的序列化,可參考官網

QDataStream Class | Qt Core | Qt 6.9.1

2、Qt 庫提供了一組基于模板的通用容器類。這些類可用于存儲指定類型的項目。可參考官網

Container Classes | Qt Core | Qt 6.9.1

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

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

相關文章

AI學習機哪個好?選這幾款步步高就對了

隨著新教改政策的推進&#xff0c;教育對孩子的綜合素養提出了更高要求。英語更重聽說、數學更重思維&#xff0c;這讓許多家長在輔導孩子時感到壓力倍增。因此&#xff0c;如何選擇一款能真正幫助孩子提升能力的學習機&#xff0c;成為了大家普遍關心的問題。面對市場上功能各…

【設計模式】--重點知識點總結

題1 1、工廠和產品之間是依賴關系 2、工廠方法模式&#xff1a;工廠方法不能為靜態方法。如果是靜態方法&#xff0c;子類無法重寫行為。 簡單工廠可以用靜態方法 3、采用設計模式&#xff0c;以保證成功的設計和體系結構 4、建造者模式&#xff1a;&#xff08;1&#xf…

輕量實現 OCPP 1.6 JSON 協議(歐洲版)的充電樁調試平臺

1 項目概覽 1.1 目標與適用場景 1.1.1 簡介 本文介紹的開源項目 ocpp_charge&#xff0c;是一個 自研輕量實現 OCPP 1.6 JSON 協議&#xff08;歐洲版&#xff09; 的充電樁調試平臺。 它沒有依賴官方 OCPP 1.6J 庫&#xff0c;而是從零實現協議解析與會話管理&#xff0c;適…

Ubuntu 搭建 Solana 區塊鏈開發環境 + Anchor 智能合約完整教程

文章目錄簡介特征核心概念Solana 的工作原理&#xff08;簡單版&#xff09;為什么人們選擇 Solana開發環境準備Solana 官網Solana 文檔Anchor 文檔GithubRust SDK快速安裝 Solana&#xff08;推薦&#xff09;單獨安裝 Solana安裝依賴項安裝 Solana CLI安裝 Anchor CLI安裝 AV…

curl 介紹及使用教程

文章目錄 什么是 curl? 1. 解析用戶輸入與初始化 2. 建立網絡連接 3. 構建并發送請求 4. 接收并處理響應 5. 清理資源 核心特點總結 基本語法 常用功能及示例 1. 基本 HTTP 請求 2. 發送 GET 請求 3. 發送 POST 請求 4. 設置請求頭 5. 處理認證 6. 斷點續傳 7. 跟隨重定向 8. …

【第十一章】Python 隊列全方位解析:從基礎到實戰

Python 隊列全方位解析&#xff1a;從基礎到實戰 本文將從基礎概念到高級應用&#xff0c;用 “文字解釋 代碼示例 圖表對比 實戰案例” 的方式&#xff0c;全面覆蓋 Python 隊列知識&#xff0c;零基礎也能輕松掌握。 文章目錄Python 隊列全方位解析&#xff1a;從基礎到實…

跨平臺開發框架實測:React Native vs Flutter vs Kotlin Multiplatform

本文聚焦 React Native、Flutter 和 Kotlin Multiplatform 三大跨平臺開發框架&#xff0c;從性能表現、開發效率、生態系統、跨平臺一致性及學習成本五個關鍵維度展開實測對比。通過具體場景的測試數據與實際開發體驗&#xff0c;剖析各框架的優勢與短板&#xff0c;為開發者在…

【網弧軟著正版】2025最強軟著材料AI生成系統,基于GPT5.0

軟著材料AI一鍵生成系統 網址&#xff1a;AI軟著材料生成平臺 | 一鍵生成全套軟著文檔 - 網絡弧線 產品簡介&#xff1a; 專業的軟件著作權材料AI生成平臺&#xff0c;基于GPT-5模型開發&#xff0c;自2022年運營至今已服務數萬用戶成功獲得軟著證書。輸入軟件名稱即可自動生成…

存儲掉電強制拉庫引起ORA-01555和ORA-01189/ORA-01190故障處理---惜分飛

機房存儲突然掉電導致Oracle數據庫訪問存儲異常,數據庫報出大量的ORA-27072: File I/O error,Linux-x86_64 Error: 5: Input/output error,ORA-15081: failed to submit an I/O operation to a disk等錯誤,實例直接crash Wed Aug 27 07:11:53 2025 Errors in file /u01/app/ora…

R3:適用于 .NET 的新一代響應式擴展庫,事件訂閱流

R3&#xff1a;適用于 .NET 的新一代響應式擴展庫 R3 是 dotnet/reactive&#xff08;.NET 官方響應式擴展&#xff09;與 UniRx&#xff08;適用于 Unity 的響應式擴展&#xff09;的新一代替代方案&#xff0c;支持多種平臺&#xff0c;包括 Unity、Godot、Avalonia、WPF、W…

Android Framework打電話禁止播放運營商視頻彩鈴

文章目錄定位Android電話的源碼及UI禁止打電話時播放運營商廣告視頻彩鈴運營商視頻彩鈴framework禁止播放視頻彩鈴需求&#xff1a;打電話時&#xff0c;對方未接聽&#xff0c;這個時候可能會播放運營商的視頻彩鈴&#xff0c;需求是屏蔽彩鈴播放。測試平臺&#xff1a;展銳。…

WebIDEPLOY 賦能數字校園建設:智慧管理系統的效能升級與實踐路徑 —— 以校園資源協同優化構建高效教育生態的探索

一、教育數字化轉型中的現實困境&#xff1a;從 "管理孤島" 到 "效率瓶頸"教育數字化轉型的加速推進&#xff0c;讓智慧校園建設成為高校提升核心競爭力的關鍵抓手。但當前校園物聯網應用中&#xff0c;一系列痛點逐漸凸顯&#xff1a;設備管理呈現 "…

開源AI大模型AI智能名片S2B2C商城小程序賦能下的“信息找人“:人工智能驅動的線下零售精準化革命

摘要&#xff1a;在人工智能技術深度滲透零售行業的背景下&#xff0c;線下零售場景正經歷從"人找信息"到"信息找人"的范式轉變。本文聚焦開源AI大模型、AI智能名片與S2B2C商城小程序的技術融合&#xff0c;系統分析其在客戶定位、行為分析、精準營銷等環節…

【第三方網站運行環境測試:服務器配置(如Nginx/Apache)的WEB安全測試重點】

服務器配置安全測試是WEB安全評估的關鍵&#xff0c;一般關注信息泄露、傳輸安全、訪問控制及資源防護等方面。信息泄露控制 檢查服務器響應頭是否暴露敏感信息。Server頭應去除Nginx/Apache詳細版本號&#xff0c;防止攻擊者針對特定版本漏洞進行利用。錯誤頁面需自定義&#…

【Hot100】15.三數之和

解法&#xff1a;排序 雙指針首先對數組排序&#xff0c;便于后面處理重復元素。第一層循環遍歷數組中的每一個元素&#xff0c;作為三元組中的第一個元素 nums[i] &#xff0c;并跳過重復的元素。對于每個 i &#xff0c;使用雙指針 l &#xff08;初始為 i1&#xff09;和 r…

Flutter 本地持久化存儲:Hive 與 SharedPreferences 實戰對比

在移動應用開發中&#xff0c;本地持久化存儲是必不可少的功能。無論是保存用戶登錄狀態、應用配置&#xff0c;還是緩存數據&#xff0c;合理選擇存儲方案都能提高應用的性能與用戶體驗。在 Flutter 中&#xff0c;常用的本地存儲方式主要有兩種&#xff1a;SharedPreferences…

Lombok 實用注解深度解析!

目錄一、AllArgsConstructor&#xff1a;全參數構造函數生成器1. 基本概念2. 使用示例3. 高級特性4. 注意事項二、RequiredArgsConstructor&#xff1a;必需參數構造函數生成器1. 基本概念2. 使用示例3. 高級特性4. 注意事項三、SneakyThrows&#xff1a;異常處理"偷懶&qu…

Go+Gdal 完成高性能GIS數據空間分析

概要 環境準備 技術流程 一、在golang中如何調用gdal 二、讀取數據 三、執行空間分析 四、性能提升 小結 概要 Gdal庫可以說是所有gis軟件的基礎&#xff0c;基本上現在所有的工業gis軟件都是基于gdal開發的&#xff0c;其主要包括了柵格處理、矢量處理、坐標系處理所涉及的各類…

【python】python進階——Lambda 函數

目錄 引言 一、簡介 1.1 基本語法 1.2 優勢 1.3 局限性 二、基本用法 2.1 無參數lambda 函數 2.2 多參數 lambda 函數 三、常見使用場景 3.1 與高階函數配合使用 3.2 作為排序鍵 3.3 在 GUI 編程中作為回調函數 3.4 在 Pandas 中的應用 四、高級技巧 4.1 條件表…

基于單片機電動車充電樁/充電車棚環境監測設計

傳送門 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品題目速選一覽表 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品題目功能速覽 概述 隨著電動車普及&#xff0c;充電樁的環境安全監測成為重要課題。基于單片機的電動車充電樁環境檢…