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上, 在程序退出时才会被析构

    ---------

     

     

     

  • 相关阅读:
    索引压缩
    拼写校正
    词典(词汇表)
    Text Relatives II
    Text Relatives
    CoreText
    Quartz2D Text
    PDF Document Creation, Viewing
    Core Graphics Layer Drawing
    Bitmap Images and Image Masks
  • 原文地址:https://www.cnblogs.com/lzihua/p/2480894.html
Copyright © 2011-2022 走看看