[√]qdockerwidget自定义titlebar遇到的各种问题

简介: [√]qdockerwidget自定义titlebar遇到的各种问题

这个需求来自我想自定义标题栏,我发现unity就实现了,早期版本也是基于qt,于是就顺着这个思路整合了下。

设置titlebar的高度

一般我们都是使用layout布局,我想要设置titlebar的高度,无论怎么搞发现都无法生效

this->setTitleBarWidget(new QWidget());
QWidget* titleBar = this->titleBarWidget();
QHBoxLayout* layout = new QHBoxLayout();
titleBar->setLayout(layout);
layout->setContentsMargins(0, 0, 0, 0); // 核心代码
QLabel* label = new QLabel();
label->setFixedHeight(20);
label->setContentsMargins(0, 0, 0, 0);
label->setText(this->windowTitle());
layout->addWidget(label);

原来是layout的margin导致的,如果设置titlebar->setFixedHeight(20)就会导致发生截断。

widget缩小,titlebar高度发生变化

dockwidget->setWidget(panel);

正常的

image.png

panel缩小后,titlebar变高了

image.png

dockwidget->setMinimumHeight(panel->minHeight);导致的,我只需要设置dockwidget.widget的minimumHeight即可。

如果有inspect工具就方便排查问题了。

目录
相关文章
|
存储 缓存 自然语言处理
QT基础教程(QMap和QHash)
QT基础教程(QMap和QHash)
1334 0
|
存储 容器
QT中QListWidget实现QListWidgetItem图片和文字居中
在使用QT开发软件的过程中,很多时候使用QListWidget来实现列表项的功能,比如MS系统的功能模块菜单,如下面2张图所示,其中第一张图是带文字和图标的列表项,第二张图是纯图标的模式,在最近开发的平台客户端的某个功能模块都用上了。
1718 0
|
算法 数据可视化 前端开发
第三代软件开发-QCustomPlot核心迁移
欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。 在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。 在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资
csv 如果是utf-8 那么excel打开的时候为啥是乱码
csv 如果是utf-8 那么excel打开的时候为啥是乱码
1074 0
|
索引
Qt的复杂代理使用总结
Qt的复杂代理使用总结
256 0
我的Qt作品(3)基于QTabWidget和AdvancedDocking实现的Ribbon风格主界面【开源】
我的Qt作品(3)基于QTabWidget和AdvancedDocking实现的Ribbon风格主界面【开源】
2352 0
我的Qt作品(3)基于QTabWidget和AdvancedDocking实现的Ribbon风格主界面【开源】
【Qt 学习笔记】Qt窗口 | 浮动窗口 | QDockWidget的使用及说明
【Qt 学习笔记】Qt窗口 | 浮动窗口 | QDockWidget的使用及说明
1855 3
|
NoSQL 数据库 Python
PyQt学习(二)-----图形的建立(柱状图,折线图,堆叠柱状图,饼图)
PyQt学习(二)-----图形的建立(柱状图,折线图,堆叠柱状图,饼图)
477 1
[Qt5&控件] 选项卡tabWidget控件隐藏&增加tab个数
[Qt5&控件] 选项卡tabWidget控件隐藏&增加tab个数
1061 0

热门文章

最新文章