zoukankan      html  css  js  c++  java
  • Qt 模态对话框与非模态对话框及生命周期

    如果要设置为模态对话框,最简单的就是使用exec()方法,示例代码如下:

            MyDialog myDlg;   

            myDlg.exec();

    也可以使用show()方法,示例代码如下:

            MyDialog myDlg;   

            myDlg.setModal(true);   

            myDlg.show();

    如果要设置为非模态对话框,必须使用show()方法,示例代码如下:

            MyDialog myDlg;   

            myDlg.setModal(false);//或者   myDlg.setModal();

            myDlg.show();

    如果需要它总在所有窗口的最前面,这时可以通过如下代码设置:

            myDlg.setWindowFlags(Qt::WindowStaysOnTopHint) 

    一闪而过问题分析:

    ------------

    MyDialog myDlg;   

    myDlg.setModal(true);   

    myDlg.show();

    一闪而过。

    myDlg创建在stack上,生命期是大括号内

    -----------

    MyDialog myDlg=new MyDialog();   

    myDlg.setModal(true);   

    myDlg.show();

    报错

    -------------

    MyDialog *myDlg=new MyDailog();   

    myDlg->setModal(true);   

    myDlg->show();

    ok

    myDlg通过new创建在heap上, 在程序退出时才会被析构

    ---------

     

     

     

  • 相关阅读:
    Mac安装zookeeper
    征途
    vue-配置文件
    数组去重
    判断身份证
    判断邮箱
    判断手机号是否正确
    JS 时间格式转换
    打印 print-js
    自"愚"自乐的云服务器
  • 原文地址:https://www.cnblogs.com/lzihua/p/2480894.html
Copyright © 2011-2022 走看看