79Qt窗口_QDockWidget的基本使用

目錄

4.1 浮動窗?的創建

4.2 設置停靠的位置


浮動窗?
在 Qt 中,浮動窗?也稱之為鉚接部件。浮動窗?是通過 QDockWidget類 來實現浮動的功能。浮動窗 ??般是位于核?部件的周圍,可以有多個。

4.1 浮動窗?的創建

浮動窗?的創建是通過 QDockWidget類 提供的構造?法 QDockWidget()函數 動態創建的;?例如
下:

4.2 設置停靠的位置

浮動窗?是位于中?部件的周圍。可以通過 QDockWidget類 中提供 setAllowedAreas() 函數設置其 允許停靠的位置。其中可以設置允許停靠的位置有:
? Qt::LeftDockWidgetArea 停靠在左側
? Qt::RightDockWidgetArea 停靠在右側
? Qt::TopDockWidgetArea 停靠在頂部
? Qt::BottomDockWidgetArea 停靠在底部
? Qt::AllDockWidgetAreas 以上四個位置都可停靠
?例如下:設置浮動窗?只允許上下停靠
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDockWidget>
#include <QLabel>
#include <QPushButton>
#include <QVBoxLayout>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);// 給主窗口添加一個子窗口.QDockWidget* dockWidget = new QDockWidget();// 使用 addDockWidget 方法, 把浮動窗口加入到子窗口中this->addDockWidget(Qt::LeftDockWidgetArea, dockWidget);// 浮動窗口也是可以設置標題的.dockWidget->setWindowTitle("這是浮動窗口");// 給浮動窗口內部, 添加一些其他的控件.// 不能直接給這個浮動窗口添加子控件, 而是需要創建出一個單獨的 QWidget, 把要添加的控件加入到 QWidget 中.// 然后再把這個 QWidget 設置到 dockWidget 中.QWidget* container = new QWidget();dockWidget->setWidget(container);// 創建布局管理器, 把布局管理器設置到 QWidget 中QVBoxLayout* layout = new QVBoxLayout();container->setLayout(layout);// 創建其他控件添加到 layout 中.QLabel* label = new QLabel("這是一個 QLabel");QPushButton* button = new QPushButton("這是按鈕");layout->addWidget(label);layout->addWidget(button);// 設置浮動窗口允許停靠的位置dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);}MainWindow::~MainWindow()
{delete ui;
}

浮動窗口=>子窗口
Qt 中使用 QDockWidget 來實現~~

Qwidget* container = new QWidget();
dockWidget->setWidget(container;
由于 dockWidget 中只能包含一個QWidget.
要想添加更多的控件就只能往QWidget中進行添加了.(多套一層),
(為啥Qt要這么設定,也有點不可考)
按理說,直接讓dockWidget能添加更多的元素是更合適的設定

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

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

相關文章

UE/Unity/Webgl云渲染推流網址,如何與外部網頁嵌套和交互?

需求分析&#xff1a;用threejs開發的數字孿生模型&#xff0c; 但是通過webgl技術網頁中使用&#xff0c;因為模型數據量大&#xff0c;加載比較慢&#xff0c;且需要和其他的業務系統進行網頁嵌套和交互&#xff0c;使用云渲染技術形成的推流網址&#xff0c;如何與外部網頁嵌…

在Termux中搭建完整Python環境(Ubuntu+Miniconda)

蹲坑也能寫python? ?? 環境準備?? 詳細搭建步驟步驟1:安裝Linux容器工具步驟2:查看可用Linux發行版步驟3:安裝Ubuntu系統步驟4:登錄Ubuntu環境步驟5:下載Miniconda安裝包步驟6:安裝Miniconda? 環境驗證?? 使用技巧?? 注意事項前言:想在吃飯、通勤甚至休息間隙…

EventSourcing.NetCore:基于事件溯源模式的 .NET Core 庫

在現代軟件架構中&#xff0c;事件溯源&#xff08;Event Sourcing&#xff09;已經成為一種非常流行的模式&#xff0c;尤其適用于需要高可用性和數據一致性的場景。EventSourcing.NetCore 是一個基于事件溯源模式的 .NET Core 庫&#xff0c;旨在幫助開發者更加高效地實現這一…

Linux下的第一個程序——進度條(命令行版本)

文章目錄 編寫Linux下的第一個小程序——進度條進度條的樣式前置知識回車和換行緩沖區對回車、換行、緩沖區、輸出的測試代碼簡單的測試樣例倒計時程序 進度條程序理論版本基本框架代碼實現 真實版本基礎框架 代碼實現 編寫Linux下的第一個小程序——進度條 在前面的基礎開發工…

【項目】仿muduo庫one thread one loop式并發服務器前置知識準備

&#x1f4da; 博主的專欄 &#x1f427; Linux | &#x1f5a5;? C | &#x1f4ca; 數據結構 | &#x1f4a1;C 算法 | &#x1f152; C 語言 | &#x1f310; 計算機網絡 |&#x1f5c3;? mysql 本文介紹了一種基于muduo庫實現的主從Reactor模型高并發服務器框架…

steam報網絡錯誤,但電腦是網絡連接的

steam報網絡錯誤&#xff0c;但電腦是網絡連接的 如&#xff1a; 解決辦法&#xff1a; 關閉電腦防火墻和所有殺毒軟件&#xff0c;然后重新打開steam開代理&#xff0c;可能國內有時候訪問不了 首選1進行嘗試 steam安裝路徑一定要在純英文路徑下 已ok

Vue 組合式 API 與 選項式 API 全面對比教程

一、前言&#xff1a;Vue 的兩種 API 風格 Vue 提供了兩種編寫組件邏輯的方式&#xff1a;組合式 API (Composition API) 和 選項式 API (Options API)。理解這兩種方式的區別和適用場景&#xff0c;對于 Vue 開發者至關重要。 為什么會有兩種 API&#xff1f; 選項式 API&a…

HarmonyOS 應用模塊化設計 - 面試核心知識點

HarmonyOS 應用模塊化設計 - 面試核心知識點 在 HarmonyOS 開發面試中&#xff0c;模塊化設計是必考知識點。本文從面試官角度深度解析 HarmonyOS 應用模塊化設計&#xff0c;涵蓋 HAP、HAR、HSP 等核心概念&#xff0c;助你輕松應對技術面試&#xff01; &#x1f3af; 面試高…

Maven高級學習筆記

分模塊設計 為什么分模塊設計?將項目按照功能拆分成若干個子模塊&#xff0c;方便項目的管理維護、擴展&#xff0c;也方便模塊間的相互調用&#xff0c;資源共享。 注意事項&#xff1a;分模塊開發需要先針對模塊功能進行設計&#xff0c;再進行編碼。不會先將工程開發完畢&…

[創業之路-423]:經濟學 - 大國競爭格局下的多維博弈與科技核心地位

在當今風云變幻的國際舞臺上&#xff0c;大國競爭已成為時代的主旋律&#xff0c;其激烈程度與復雜性遠超以往。這場全方位的較量&#xff0c;涵蓋了制度、思想、文化、經濟、科技、軍事等諸多關鍵領域&#xff0c;每一個維度都深刻影響著大國的興衰成敗&#xff0c;而科技在其…

【企業容災災備系統規劃】

一、企業災備體系 1.1 災備體系 災備切換的困境: 容災領域的標準化方法和流程、算法體系是確保業務連續性和數據可靠性的核心,以下從標準框架、流程規范、算法體系三個維度進行系統分析: 1.1.1、標準化方法體系? ?1. 容災等級標準? ?國際標準SHARE78?: 將容災能力劃…

Kafka Connect基礎入門與核心概念

一、Kafka Connect是什么&#xff1f; Apache Kafka Connect是Kafka生態中用于構建可擴展、可靠的數據集成管道的組件&#xff0c;它允許用戶將數據從外部系統&#xff08;如數據庫、文件系統、API等&#xff09;導入Kafka&#xff08;Source Connector&#xff09;&#xff0…

從零手寫Java版本的LSM Tree (四):SSTable 磁盤存儲

&#x1f525; 推薦一個高質量的Java LSM Tree開源項目&#xff01; https://github.com/brianxiadong/java-lsm-tree java-lsm-tree 是一個從零實現的Log-Structured Merge Tree&#xff0c;專為高并發寫入場景設計。 核心亮點&#xff1a; ? 極致性能&#xff1a;寫入速度超…

Kotlin的5個主要作用域函數

applay, also,let, run, with 是kotlin標準庫提供的5個主要的作用域函數&#xff08;Scope Functions&#xff09;?&#xff0c;它們的設計目的是為了在特定作用域內更簡潔地操作對象。 如何使用這5個函數&#xff0c;要從它的設計目的來區分&#xff1a; apply : 配置/對象…

原型模式Prototype Pattern

模式定義 用原型實例指定創建對象的種類&#xff0c;并且通過復制這些原型創建新的對象&#xff0c;其允許一個對象再創建 另外一個可定制的對象&#xff0c;無須知道任何創建的細節 對象創建型模式 基本工作原理是通過將一個原型對象傳給那個要發動創建的對象&#xff0c;這…

基于深度學習的智能交通流量預測系統:技術與實踐

前言 隨著城市化進程的加速&#xff0c;交通擁堵問題日益嚴重&#xff0c;給人們的日常生活和經濟發展帶來了巨大的挑戰。智能交通系統&#xff08;ITS&#xff09;作為解決交通問題的重要手段&#xff0c;逐漸成為研究的熱點。其中&#xff0c;交通流量預測是智能交通系統中的…

Cilium動手實驗室: 精通之旅---23.Advanced Gateway API Use Cases

Cilium動手實驗室: 精通之旅---23.Advanced Gateway API Use Cases 1. Lab說明1.1 高級網關 API 使用案例 2. 負載均衡器2.1 部署應用程序2.2 部署 Gateway 和 HTTPRoute 3. HTTP 標頭請求修飾符3.1 部署 HTTPRoute3.2 可觀測性 4. HTTP 響應標頭重寫5. HTTP 流量鏡像5.1 demo應…

Agentic Workflow是什么?Agentic Workflow會成為下一個AI風口嗎?

無論是想要學習人工智能當做主業營收&#xff0c;還是像我一樣作為開發工程師但依然要運用這個顛覆開發的時代寵兒&#xff0c;都有必要了解、學習一下人工智能。 近期發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;入行門檻低&#x…

Some chunks are larger than 500 KiB after minification. Consider

在 vue3vite 項目開發中&#xff0c;build 打包時出現以下警告報錯&#xff1a; (!) Some chunks are larger than 500 KiB after minification. Consider: - Using dynamic import() to code-split the application - Use build.rollupOptions.output.manualChunks to improve…

NodeJS11和10以及之前的版本,關鍵差異?

Node.js 11 相比 10&#xff08;及更早版本&#xff09;&#xff0c;除了事件循環行為的重大改變&#xff0c;還有多個核心模塊和底層機制的升級。以下是它們的關鍵差異和新特性對比&#xff0c;幫助你快速掌握兩個版本的重要變化。 &#x1f527; 一、事件循環行為變化&#x…