当前位置: 首页 > news >正文

QDockWidget

目录

  • 前言
  • 介绍
  • 常用方法
    • 构造函数
    • 公有函数
    • 信号函数

前言

最近好久没写博客了,markdown的语法都有些生疏了,现在正好有时间,就继续写起来吧。
最近面试,发现了一个悲催的点,好多基础知识都慢慢遗忘了;忙忙碌碌的经历了将近三年的工作,好像总是在追赶,早上弄到晚上,不过却忽略了一个问题,每天都在忙什么?是找一些近似需求的实现,改一改就成了?之前貌似就是这样,嘻嘻哈哈的度过了这些天。
讲真,最近发生的事情有点集中,还有些小难受,慢慢调整,慢慢学习,查漏补缺吧。

介绍

QDockWidget实现了可停靠的窗口,这一个窗口部件在Qt Creator、VS Code等各种编辑器的工具栏、侧边栏都有应用。其还支持嵌套,可以创建多级的停靠窗口布局,进一步增强用户界面的灵活性和可定制性。
在QMainWindow中,QDockWidget可以作为辅助窗口停靠在主窗口内部的顶部、底部、左侧或右侧,也可以作为独立的浮动窗口出现在主窗口之外;其提供了灵活的布局管理和标题栏定制,允许用户根据需要调整各个窗口的位置、大小,对窗口显示或隐藏。

常用方法

构造函数

常用的形式如下:

  • 创建一个带有标题的QDockWidget对象。
QDockWidget(const QString &title, QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags());

其中:title指定了QDockWidget的标题栏显示的文本;Parent指定了QDockWidget的父部件,通常是QMainWindow。
用法例如:

QDockWidget *dockwidget = new QDockWidget(tr("DockWidget"), this);
  • 创建一个没有标题的QDockWidget对象
QDockWidget(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags());

公有函数

  • 设置停靠窗口中的部件
setWidget(QWidget *widget)
  • 设置QDockWidget可以停靠的区域
setAllowedAreas(Qt::DockWidgetAreas areas)

Qt::DockWidgetAreas是一个枚举类型,包括:

常量描述
Qt::LeftDockWidgetArea左侧
Qt::RightDockWidgetArea右侧
Qt::TopDockWidgetArea顶部
Qt::BottomDockWidgetArea底部

可以使用他们的组合,例如:允许在右侧和底部停靠

dockWidget->setAllowedAreas(Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea);
  • 设置停靠窗口的功能特性,如关闭按钮、可浮动等
setFeatures(QDockWidget::DockWidgetFeatures features)

QDockWidget::DockWidgetFeatures是一个枚举类型,包括:

常量描述
QDockWidget::DockWidgetClosable可关闭
QDockWidget::DockWidgetMovable可移动
QDockWidget::DockWidgetFloatable可漂浮
QDockWidget::DockWidgetVerticalTitleBar在左边显示垂直的标签栏
QDockWidget::AllDockWidgetFeatures具有1,2,3的所有功能
QDockWidget::NoDockWidgetFeatures无法关闭,不能移动,不能漂浮
  • 设置停靠窗口的标题
setWindowTitle(const QString &title)
  • 设置停靠窗口的可见性
setVisible(bool visible)
  • 检查QDockWidget是否被浮动(未停靠)
isFloating() const
  • 返回QDockWidget的子部件
widget() const
  • 返回QDockWidget的标题栏部件
titleBarWidget() const
  • 返回可用于切换QDockWidget可见性的QAction对象
toggleViewAction() const

信号函数

  • 当allowedAreas属性更改时发出
    void allowedAreasChanged(Qt::DockWidgetAreas allowedAreas)
  • 当停靠位置发生变化时发出
    void dockLocationChanged(Qt::DockWidgetArea area)
  • 当features属性更改时发出
    void featuresChanged(QDockWidget::DockWidgetFeatures features)
  • 当浮动状态发生变化时发出
    void topLevelChanged(bool topLevel)
  • 当停靠窗口的可见性发生变化时发出
    void visibilityChanged(bool visible)

先写到这里了,后期实践之后再接着补充

http://www.xdnf.cn/news/989029.html

相关文章:

  • Spring Data MongoDB 技术指南
  • JS开发node包并发布流程
  • 基于地形数据计算山体阴影
  • 【指针】(适合考研、专升本)
  • MySQL中外键约束详解 外键在表关系维护中的作用
  • vue定义的组件在外部引入时的问题
  • centos7 安装 zabbix6 -proxy
  • 51la统计怎么用及悟空统计的独特优势
  • C#winform画图代码记录
  • Java八股文——Spring「SpringCloud 篇」
  • 西安java面试总结1
  • 亚马逊Woot黑五策略,快速提升亚马逊业绩
  • Docker三大核心组件详解:镜像、容器、仓库的协作关系
  • 模拟IC设计提高系列5-温度角与蒙特卡洛仿真
  • 基于GA遗传优化的PID控制器最优控制参数整定matlab仿真
  • OpenLayers 加载Geoserver WMTS服务
  • 进程的信号掩码,信号集,sigprocmask函数
  • QMultiMapQHashQList使用区别
  • 中学教资考试面试回忆
  • 学车笔记 变挡
  • 图数据库的理解
  • Python打卡第51天
  • n8n部署步骤
  • AI Engine Kernel and Graph Programming--知识分享9
  • PostgreSQL --数据库操作
  • libyuv的三种缩放模式
  • Verilog:流水线乘法器
  • 【热更新知识】学习三 XLua学习
  • 我们来学mysql -- 8.4版本记录慢查询
  • 1.对结构学习的整体构想