关于qt中label挡住了dockwidget的窗体标题
1.问题描述:
dock_Image = new QDockWidget(tr("图像"), this);
setCentralWidget(dock_Image);
imgLabel = new QLabel(dock_Image);
imgLabel->setScaledContents(true); // 设置QLabel自动适应图像大小
//dock_Image->raise();
QImage image = QImage(500, 500, QImage::Format_RGB32); // 新建图像
image.fill(qRgb(255, 255, 255)); // 全白
imgLabel->setPixmap(QPixmap::fromImage(image)); // 显示图像
imgLabel->resize(image.width(), image.height()); // 图像与imgLabel同大小
以上的代码就是搞了一个子窗口,然后又定义了一个label,用来显示图片(这里的图片我搞了一个白色的图像)。
本该是简单易懂的实现,但是运行出来显示的图片遮住了子窗口的标题?如下图

不知道大家有没有这个问题,我好像没怎么搜索到类似的问题,感觉应该是label和dockwidget两个属于同一级,而不是我理解的label定义在dockwidget内部。
最后自己摸索了两个解决方法:
2.解决方法
1.设置label的位置,即添加代码
imgLabel->setGeometry(0, 20, image.width(), image.height());
运行效果:

怎么硕呢,感觉可能只是表面上解决了问题。。。先观望一下
2.又看了一下别人的代码,发现原因是我没有把label添加到dockwidget中。。。
所以其实只要添加一句代码:
dock_Image->setWidget(imgLabel);
这样就能解决问题,运行效果为:



![[Linux/初学者]Vim文本编译器的模式切换及其常用指令](https://img-blog.csdnimg.cn/a357f502362943cebd1d868d312688f7.png)



![[附源码]Python计算机毕业设计白果园网上水果超市](https://img-blog.csdnimg.cn/91193d3ee84f434f86e85317e2b6db3e.png)






![[附源码]java毕业设计同城搬家平台](https://img-blog.csdnimg.cn/e8236b3b8bd74a6cb5112031ff9cea62.png)



![[Spring Cloud] Open Feign---扩展](https://img-blog.csdnimg.cn/79345d3cbaf7473095deb5898223d78b.png)
![[附源码]java毕业设计汽车租赁管理系统-](https://img-blog.csdnimg.cn/3a16081b544b4578a2252cf6bee4f493.png)
