QT 主窗口和非模态对话框切换 以及消息通信

项目中要用到非模态窗口,程序一开始弹出一个主窗口来,点击一个按钮的时候弹出一个非模态窗口,虽然是一个比较简单的需求,但是在实现的过程中有各种问题。列一下自己遇到的问题并且说一下自己的解决方法。

1) 弹出的非模态窗口始终躲在最后面,并且非模态窗口上的控件不能操作。

     主窗口是一个模态的窗口,非模态窗口在初始化的时候没有把主窗口作为他的父窗口。所以弹出来的非模态窗口就始终躲在最后面。  

CModealDlg*dlg = new CModealDlg(this); //this 指针是主窗口的指针. 

dlg->setModal(false);

dlg->show();  //一定要调用show 函数,不能是exec 函数

     这种弹出的非模态窗口类似find 窗口,始终在主窗口的前面


2) 弹出的非模态窗口和主窗口不能随意切换

         弹出非模态窗口之后,如果点击主窗口的话,这个时候应该是主窗口显示在最前面,也就是说点哪个窗口哪个就应该在最前面。这个主要是因为你的主窗口是模态导致的。所以需要把主窗口设置为非模态

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值