Qt的頂部工具欄在多個界面使用

Qt的工具欄在多個界面使用

  • 1、前言
  • 2、創建一個工具欄類
    • 2.1 新建一個工具欄類
  • 3、提升工具欄類
    • 3.1登錄界面添加工具欄
    • 3.2 創建工具欄對象
  • 4、總結

1、前言

今天遇到了個問題,頂部的工具欄,像軟鍵盤,時間顯示和退出按鈕那些,想在多個界面使用,如果每個界面都新建一個會很麻煩,原本想著把主界面覆蓋掉登錄界面,只留頂部工具欄那部分,后來發現覆蓋掉后,登錄界面的工具欄也無法使用,記錄一下Qt的工具欄在多個界面使用的實現方法,方便自己會顧,也可以給有需要的人提供幫助。

2、創建一個工具欄類

2.1 新建一個工具欄類

右鍵項目,選擇Add New

在這里插入圖片描述

選擇Qt,然后選擇Qt 設計師界面類

在這里插入圖片描述

選擇Widget,然后點擊下一步

在這里插入圖片描述

改一下名字,然后點擊下一步

在這里插入圖片描述

設計工具欄

在這里插入圖片描述

為了顯示的時候沒有邊框,加上去邊框代碼
this->setWindowFlag(Qt::FramelessWindowHint);       //去邊框

3、提升工具欄類

3.1登錄界面添加工具欄

在登錄界面拖入一個QWdiget

在這里插入圖片描述

右鍵那個QWidget,然后選擇提升為

在這里插入圖片描述

勾選全局包含,然后輸入提升類的名稱,接著選擇添加,然后點擊提升

在這里插入圖片描述

然后就能看到繼承的類變了

在這里插入圖片描述

3.2 創建工具欄對象

在Widget里面創建工具欄對象
    toolBar *uptoolBar; // 共享工具欄// 創建共享工具欄(如果尚未創建)if (!uptoolBar) {uptoolBar = new toolBar(this);}
運行之后就會顯示了

在這里插入圖片描述

因為這個工具欄是登錄界面的子控件,你登錄界面關閉后,它并沒有銷毀,所有也會在主界面顯示,就不需要在主界面創建了,,你也可以選擇在登錄界面銷毀掉這個工具欄,然后再在主界面創建一個,如果使用的是同個工具欄就沒有必要銷毀再創建,如果不同的工具欄就銷毀再創建。
this->close();// 創建主界面
mainInterface *mainui = new mainInterface(nullptr);// 設置主界面位置(覆蓋登錄界面的內容區域)
mainui->setGeometry(this->x(), this->y()-10,this->width(), this->height());mainui->show();

在這里插入圖片描述

可以看到從登錄界面進入到主界面后,工具欄還是顯示在頂部的

4、總結

以上就是實現鼠標拖動窗口的整個過程了,瀏覽過程中,如若發現錯誤,歡迎大家指正,有問題的可以評論區留言或者私信。最后,如果大家覺得有所幫助的話,可以點個贊,謝謝大家!祝大家平安無疾,皆得所愿!

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

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

相關文章

C#和SQL Server連接常用通訊方式

C#和SQL Server連接通訊 在 C# 中與 SQL Server 建立數據庫連接,主要通過 ADO.NET 技術實現。以下是幾種常見的連接方式及相關實踐: ADO.NET 全面指南:C# 數據庫訪問核心技術 ADO.NET 是 .NET Framework 中用于數據訪問的核心組件&#xf…

安卓10.0系統修改定制化____實現自動開啟 USB 調試?的步驟解析 列舉常用的幾種修改方法

對于安卓開發者、測試人員,甚至是喜歡折騰手機的數碼愛好者來說,USB 調試是一個非常重要的功能。它能讓手機與電腦相連,實現應用安裝、系統調試、數據傳輸等操作。但每次連接手機都要手動去設置里開啟 USB 調試,實在麻煩。其實,通過修改安卓 10.0 的 ROM,就能讓手機自動開…

Redisson詳細教程 - 從入門到精通

目錄 1. 什么是Redisson 2. 為什么要用Redisson 3. 環境準備和配置 4. 基礎使用方法 5. 分布式數據結構 6. 分布式鎖詳解 7. 分布式服務 8. 實際應用場景 9. 最佳實踐 10. 常見問題解答 總結 1. 什么是Redisson 簡單理解 想象一下,Redis就像一個超級強大的"內…

動態規劃VS記憶化搜索(2)

luoguP1434滑雪 題目描述 Michael 喜歡滑雪。這并不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待升降機來載你。Michael 想知道在一個區域中最長的滑坡。區域由…

如何將服務守護進程化

進程組 什么是進程組 之前我們提到了進程的概念, 其實每一個進程除了有一個進程 ID(PID)之外 還屬于一個進程組。進程組是一個或者多個進程的集合, 一個進程組可以包含多個進程。 每一個進程組也有一個唯一的進程組 ID(PGID), 并且這個 PGID …

【跟著PMP學習項目管理】項目管理 之 范圍管理知識點

目錄 一、收集需求 1、知識點匯總 2、輸入 3、工具 4、輸出 二、定義范圍 1、知識點匯總 2、輸入 3、工具 4、輸出 三、創作工作分解結構 1、知識點匯總 2、輸入 3、工具 4、輸出 四、核實范圍 1、知識點匯總 2、輸入 3、工具 4、輸出 五、控制范圍 1、知…

AIX 環境磁盤空間管理指南

AIX 環境磁盤空間管理指南 在AIX環境中,磁盤空間的監控、管理與擴展是運維人員必備的技能。本文通過實際案例,系統地介紹如何查詢磁盤信息、卷組(VG)、邏輯卷(LV)信息,以及在磁盤空間不足時的擴容方案,幫助讀者掌握磁盤空間管理的…

k8s將service的IP對應的不同端口分配到不同的pod上

在Kubernetes中,Service是一種抽象層,它將請求路由到一組Pod。當你需要將Service的不同端口映射到不同的Pod時,可以通過以下兩種主要方式實現: 方法一:使用單個Service的多端口配置 如果不同的Pod提供不同的服務&…

aic8800M40低功耗sdio wifi在arm-linux平臺調試經驗

背景 好多年沒有搞過wifi相關的內容了,最近也被安排上了,把一顆低功耗aic8800M40的芯片在arm-linux開發板上做bring up,記錄一下SDIO wifi調試的過程和經驗,SDIO驅動這里需要改動一些linux內核HOST驅動代碼,會在文章中貼出來: AIC8800M40芯片簡介 這個wifi芯片是一顆低…

Redis基礎(1):NoSQL認識

SQL和NoSQL數據庫可以分為關系型數據庫和非關系型數據庫,SQL(Structured Query Language)相信大家并不陌生,這是用于操作關系型數據庫的語言,而NoSQL,顧名思義,它對應的就是非關系數據庫,它是操作非關系型數…

QT6 源(153)模型視圖架構里的表格窗體視圖 QTableWidget 篇三:源碼及其元素 QTableWidgetItem 的源代碼帶注釋

&#xff08;14&#xff09;本源代碼定義于頭文件 qtablewidget . h 頭文件 &#xff1a; #ifndef QTABLEWIDGET_H #define QTABLEWIDGET_H#include <QtWidgets/qtableview.h> #include <QtWidgets/qtwidgetsglobal.h> #include <QtCore/qlist.h> #include …

SSL證書是網絡安全的一把利刃

SSL證書&#xff08;安全套接層證書&#xff0c;現普遍升級為TLS證書&#xff09;確實是網絡安全領域中一把至關重要的“利刃”&#xff0c;它在保護數據傳輸安全、建立用戶信任、防范網絡攻擊等方面發揮著不可替代的作用。以下是其核心價值與作用的詳細分析&#xff1a;一、SS…

Apache 配置文件提權的實戰思考

在 Linux 系統中&#xff0c;如果普通用戶被授予以 sudo 執行 Apache 并加載自定義配置文件的權限&#xff08;如 sudo apache2 -f /home/user/user.conf&#xff09;&#xff0c;那么該權限極可能被濫用為本地提權路徑。 雖然 Apache 默認采用了更嚴格的權限限制機制&#xff…

代碼隨想錄算法訓練營第四十四天|動態規劃part11

1143.最長公共子序列 題目鏈接&#xff1a;1143. 最長公共子序列 - 力扣&#xff08;LeetCode&#xff09; 文章講解:代碼隨想錄 思路&#xff1a; 其實就是求兩個字符串的最長公共子序列的長度 與公共子數組的區別是可以不連續 &#xff0c;順序對就可以 狀態轉移方程不一樣 …

部署mysql

# 環境: 操作系統window11 安裝了vagrant 通過vagrant部署、啟動虛擬機(centos7) # 準備安裝mysql8 # 添加 MySQL 官方 YUM 源 sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm # 安裝 MySQL Server sudo yum install -y mysql-s…

SQL分析與打印-p6spy組件

有性能消耗&#xff0c;只推薦在非生產環境下使用 SpringBoot3MybatisPlushttps://baomidou.com/guides/p6spy/ MyBatis-Plus提供了SQL分析與打印的功能&#xff0c;通過集成p6spy組件&#xff0c;可以方便地輸出SQL語句及其執行時長。本功能適用于MyBatis-Plus 3.1.0及以上版本…

FLUX.1-Kontext 高效訓練 LoRA:釋放大語言模型定制化潛能的完整指南

在人工智能領域&#xff0c;尤其是大型語言模型&#xff08;LLM&#xff09;的應用浪潮中&#xff0c;高效、低成本地定制模型行為已成為關鍵需求。LoRA&#xff08;Low-Rank Adaptation&#xff09;技術以其參數高效、資源節省的特性脫穎而出。而 FLUX.1-Kontext 作為一款創新…

群暉 DS3617xs DSM 6.1.7 解決 PhotoStation 安裝失敗問題 PHP7.0

群暉 DS3617xs DSM 6.1.7 解決 PhotoStation 安裝失敗問題 PHP7.0問題描述解決方案1. 準備所需文件2. 檢查當前 PHP 版本3. 安裝 PHP 版本5. 查詢已安裝好的套件6. 升級 PHP 版本7. 手動安裝套件PhotoStation注意事項總結問題描述 在群暉 DS3617xs DSM 6.1.7-15284 版本中&…

pnpm 升級

pnpm 的安裝源太多了&#xff0c;感覺系統變量都有引入順序。 今天踩坑記錄&#xff1a; pnpm &#xff0c;如果最初用npm 裝的&#xff0c;可以用npm 升級&#xff1b; 如果最初用brew 裝的&#xff0c;得用brew 升級&#xff1b; 如果最初是用corepack 裝的得用corepack 升級…

[C#] WPF - 資源URI

一、組成 1、資源URI總共包括4個部分(當前程序集可以省略前3個)&#xff1a; ①&#xff1a;pack://application:,,, ②&#xff1a;/[程序集名稱] ③&#xff1a;;Component ④&#xff1a;/[資源路徑] 二、舉例 項目結構如下圖所示&#xff1a; 1、MainWindow.xaml 文件…