QT5之 新窗口设为主窗口的子窗口显示后,主窗口菜单栏不可用解决方案

在qt5中主界面有菜单栏,选择菜单栏的选项之后,想让该选项对应的窗口界面在当前主界面窗口中。主界面窗口中动态生成 新窗口,并在new的时候指定本类为父类。代码如下:

Eight* eight;//新窗口类名为Eight,此句实际在主窗口的头文件中
eight=new Eight(this);//在主窗口中动态生成指定窗口,并指定本窗口为起父窗口

上面代码运行之后,会发现eight窗口顺利出现在主窗口内。但是!但是此时发现,主窗口的菜单栏此时只能看到,但是不可用!

解决方案:在主窗口中添加一个 新的窗体控件,并设定新窗体控件的大小,即设定你想让出现在主窗体的子窗体的显示区域。然后指定创建子窗体的时候,指定该窗体控件为其父窗体。

代码如下:

Eight *eight;
eight=new Eight(ui->widget);//设置主窗体中的 窗体控件为新窗体父窗体

编译运行,发现新窗体出现在主窗体区域内,但是主窗体的菜单栏依然可用。问题解决。

另一种解决方案:模式。新窗口出现在主窗体内,但是通过 模式 设置,可以使父窗口的一切控件可用。这个也是不足的地方。如果主窗体本身有内容,就会乱。

posted on 2018-03-25 13:17 云中孤鹤 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/wangzhizhen/p/8642899.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值