Qt在槽里面弹出模态和非模态对话框 您所在的位置:网站首页 非模态对话框名词解释汇总 Qt在槽里面弹出模态和非模态对话框

Qt在槽里面弹出模态和非模态对话框

2024-05-28 17:33| 来源: 网络整理| 查看: 265

弹出模态对话框

1弹出Dialog以及Dialog子类

       //指不指定this都可以。没有具体分析this和非this有什么区别

HDialog  hd(this); hd.exec();

}

2弹出widget

这里new的widget如果指定this。只有控件被显示。背景是透明的。如果有人知道为啥。帮忙说一下

HistoryWindow* pHistory=new HistoryWindow();

pHistory->setAttribute(Qt::WA_DeleteOnClose); pHistory->setWindowModality(Qt::ApplicationModal); pHistory->show();

弹出非模态

1弹出Dialog以及Dialog子类

{

HDialog*phd=new HDialog(this);

 /*

避免内存泄漏。有两个方式

1是指定phd->setAttribute(Qt::WA_DeleteOnClose);

2不调用WA_DeleteOnClose这一行也行。由于 new HDialog(this);的时候指定了this。所以this这个parent被关闭的时候也会delete这个phd

  只是这个phd的周期在this关闭之前一直在内存中。所以还是建议调用phd->setAttribute(Qt::WA_DeleteOnClose);

*/ phd->setAttribute(Qt::WA_DeleteOnClose); phd->show();

}

2弹出widget

HistoryWindow* pHistory=new HistoryWindow();

pHistory->setAttribute(Qt::WA_DeleteOnClose); pHistory->show();



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有