Qt在槽里面弹出模态和非模态对话框 | 您所在的位置:网站首页 › 非模态对话框名词解释汇总 › Qt在槽里面弹出模态和非模态对话框 |
弹出模态对话框 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 实验室设备网 版权所有 |