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

目录
相关文章
|
Android开发
Android系统自带样式(android:theme)解析
做Android开发时经常会修改系统默认的主题样式,在android的sdk  安装目录data\res\values\themes.
2483 0
|
9月前
|
XML API Android开发
android上FragmentTabHost实现自定义Tab Indicator
android上FragmentTabHost实现自定义Tab Indicator
54 1
|
8月前
自定义Toolbar以及使用
自定义Toolbar以及使用
|
10月前
|
XML Android开发 数据格式
Android下自定义Button样式
Android下自定义Button样式
72 3
|
10月前
|
搜索推荐 Android开发
自定义Android标题栏TitleBar布局
自定义Android标题栏TitleBar布局
59 1
|
XML Android开发 数据格式
自定义Android titleBar
自定义Android titleBar
56 0
|
Android开发
Android官方下拉选择控件Spinner
Android官方下拉选择控件Spinner
426 0
Android官方下拉选择控件Spinner
|
Android开发
Android Switch控件修改样式
Android Switch控件修改样式
Android Switch控件修改样式
|
XML Java Android开发
Android自定义标题栏替代复杂的Actionbar
组合控件,顾名思义就是将一些小的控件组合起来形成一个新的控件,这些小的控件多是系统自带的控件。比如很多应用中普遍使用的标题栏控件,其实用的就是组合控件,那么下面将通过实现一个简单的标题栏自定义控件来说说组合控件的用法。
204 0
|
XML 数据格式
自定义Toolbar的一些小技巧
1、改变Toolbar高度(解决图标不垂直居中) 背景:实际使用中,toolbar默认高度有些大,会挤压内容。想将toolbar高度改小,将layout_height从wrap_content改为固定值。 情况:toolbar的layout_height比默认高度小的时候,发现标题是居中的,但是两侧的图标不垂直居中而偏下了 调查:网上有很多方法,基本都是无效的。甚至有人利用反射直接修改图标的imageview的gravity,非常复杂且右侧图标无法实现。
268 0