工作问题和学习记录(三):Qt+QDialog嵌入到QWidget中和widget嵌入到tabWidget等不显示的问题记录

文章列举了在Qt编程中可能导致子窗口或控件不显示的三个原因:背景色匹配导致视觉上消失、尺寸设置不当以及自定义QDialog类控件的嵌入问题。对于这些问题,作者提供了相应的排查和解决方法,如调整尺寸hint和处理窗口类型。同时,作者也分享了自己工作转正阶段的焦虑和对自我提升的期望。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先列出一些可能原因

        1、背景色问题,子窗口与父窗口背景色一致。

        2、尺寸问题。

        3、dialog嵌入问题。

1、背景色问题

        这个问题,我没有实际操作过,是在同站看到,并未深究,再此记录一下,遇到此类不显示问题,也是一种排查方向。

2、尺寸问题

        有时候控件或者说窗口不是不显示,而是没有大小,因此看不见,可以用designer工具在出现问题的控件旁边当一个标准控件,再看标准控件的所在位置就能够看出是否有大小。        

        可以尝试重写这个虚函数

QSize myWidget::sizeHint() const
{
	return QSize(512,162);
}

3、dialog类嵌入问题

        将继承自QDialog类的自定义类控件嵌入到其它窗口,也会出现无效的问题。这个问题,博主从网上查找到解决方式,结果是在Stack Overflow找到答案。

This is the default type for QWidget. Widgets of this type are child widgets if they have a parent, and independent windows if they have no parent. See also Qt::Window and Qt::SubWindow.

         这个widget_2是继承自QDialog类的控件,一开始嵌入后发现失败,随后查找问题时,看到这一操作,增加后可以显示了。

 

 /*******************************************分割线*******************************************************/

        情感抒发时间(其实就是吐槽),目前博主面临工作转正阶段,这份工作严格意义上来讲,时第一份正式工作。多少是有焦虑,希望获得更多,也懊悔以前学习太浅,虽然一部分原因是受限于学业期间茫然不知所知、不知所学,接触还是太少了。期待这一年内多补足自身,也进一步的提升自身生活质量。

        再会。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

究极囤囤鼠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值