[√]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工具就方便排查问题了。

目录
相关文章
|
6月前
|
Android开发
[√]android创建通知栏
[√]android创建通知栏
50 1
|
API Android开发
Android | 通过WindowInsetsController设置系统栏颜色、Behavior、显示隐藏等
两种方式可以引入`WindowInsetsController`,一种直接通过`API`的`val controller = window.decorView.windowInsetsController`获取,注意该方法在`API30`及以上才有
773 0
|
Java Android开发
Android 10.0 StatusBar—下拉菜单快捷方式
Android 10.0 StatusBar—下拉菜单快捷方式
|
C# Windows
WPF 4 开发Windows 7 任务栏(Overlay Icon、Thumbnail Toolbar、Progress Bar)
原文:WPF 4 开发Windows 7 任务栏(Overlay Icon、Thumbnail Toolbar、Progress Bar)      在上一篇我们介绍了如何在WPF 4 中开发Windows 7 跳转列表,本篇将继续针对WPF 4 中任务栏其他功能:覆盖图标(Overlay Icon)、进度条(Progress Bar)、缩略图工具栏(Thumbnail Toolbar)进行研究。
1149 0
|
Android开发 Windows 数据格式
|
XML Android开发 数据格式
Android Design Support Library全解:Part 3 NavigationView 抽屉菜单页面
Android Design Support Library系列第三弹,NavigationView 抽屉菜单的实现 左侧弹出菜单 抽屉菜单页面是一中很常见的页面设计,虽然有很多第三方库(SlidingMenu)来帮助我们实现该功能,但是如果自己来实现的话,确实是很麻烦的工作。
1043 0