zoukankan      html  css  js  c++  java
  • 模态框与非模态框

    模态对话框:就是在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭。

    非模态对话框:当被打开时,用户既可选择和该对话框进行交互,也可以选择同应用程序的其他窗口交互。

     QDialog

    一、生成模态对话框:

    1、

    QColorDialog colorDialog;//临时变量

    colorDialog.exec();//阻塞

    2、

    QColorDialog* colorDialog = new QColorDialog(this);

    colorDialog->setAttribute(Qt::WA_DeleteOnClose);//使对话框关闭时自动delete

    colorDialog->setModal(true);

    colorDialog->show();

    二、生成非模态对话框

    QColorDialog* colorDialog = new QColorDialog(this);

    colorDialog->setAttribute(Qt::WA_DeleteOnClose);//使对话框关闭时自动delete

    //colorDialog->setModal(false);//默认就是false,可以不要这句话

    colorDialog->show();//此时对话框是非模态的,但是永远在主窗口前面

     QWidget

    一、模态

    在类构造函数中:

    setAttribute(Qt::WA_ShowModal, true);

    二、非模态

    直接show

    PS:对于某些模态子窗口,当点击其后面的主窗口时,会发出叮叮~的响声,并且会模态框会抖动;而有些又毫无反应。

    第一种是因为此模态框的父类就是this,而后面的是NULL

  • 相关阅读:
    Keepalived安装使用详解
    Django缓存使用方法
    Django常用命令及参数配置(Django 1.8.6)
    Python之Rpyc模块
    Hadoop:实战Web日志分析
    Hadoop:使用Mrjob框架编写MapReduce
    Hadoop:使用原生python编写MapReduce
    Hadoop安装
    LGOJP1850 换教室
    BZOJ4318: OSU!
  • 原文地址:https://www.cnblogs.com/judes/p/6972517.html
Copyright © 2011-2022 走看看