模态对话框VS非模态对话框

模态对话框VS非模态对话框模态对话框 VS 非模态对话框模态对话框 此对话框关闭后 它的上一级对话框才可操作非模态对话框 两个对话框可同时操作代码实现例如 在 MainWindow 中 利用 pushButton 打开新的对话框 voidMainWind on pushButton clicked 非模态对话框 QDialog dlg newQDialog this dl

模态对话框VS非模态对话框

代码实现

例如:在MainWindow中,利用pushButton打开新的对话框

void MainWindow::on_pushButton_clicked() { 
    //非模态对话框 QDialog *dlg = new QDialog(this); dlg->setWindowTitle("非模态对话框"); dlg->setFixedSize(300,200); dlg->show(); //模态对话框1 QDialog dlg1(this); dlg1.setWindowTitle("模态对话框1"); dlg1.setFixedSize(200,100); dlg1.exec();//exec()函数只有在窗口被关闭后才会返回(代码继续执行) //模态对话框2 QDialog *dlg2 = new QDialog(this); dlg2->setModal(true); dlg2->setWindowTitle("模态对话框2"); dlg2->setFixedSize(200,100); dlg2->show(); } 

运行效果:

那么如果交换两个模态对话框代码顺序会怎么样呢

void MainWindow::on_pushButton_clicked() { 
    //非模态对话框 QDialog *dlg = new QDialog(this); dlg->setWindowTitle("非模态对话框"); dlg->setFixedSize(300,200); dlg->show(); //模态对话框2 QDialog *dlg2 = new QDialog(this); dlg2->setModal(true); dlg2->setWindowTitle("模态对话框2"); dlg2->setFixedSize(200,100); dlg2->show();//两个窗口同时弹出,掉用完show()函数把控制权交给调用者 //模态对话框1 QDialog dlg1(this); dlg1.setWindowTitle("模态对话框1"); dlg1.setFixedSize(200,100); dlg1.exec();//第一个窗口关闭第二个才会弹出,exec()函数只有在窗口被关闭后才会返回 } 

运行效果:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210591.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午7:19
下一篇 2026年3月19日 上午7:19


相关推荐

  • linux内核 lock free

    linux内核 lock free//同步问题:对共享数据的访问,需要同步,互斥。在中断,抢占,多CPU,多线程环境下尤其重要。 同步分为: 阻塞同步,非阻塞同步阻塞同步有许多实现方式了:mutex,semaphore.阻塞同步使用不当就可能造成死锁,活锁,优先级反转。非阻塞同步:(现在流行三种) waitfree 很难实现,思想是本线程有限步就完成,完全不用理其余线程。 lock

    2022年7月19日
    18
  • java.sql.SQLException: not support oracle driver 8.0

    java.sql.SQLException: not support oracle driver 8.0

    2020年11月9日
    350
  • GIT撤销MERGING状态

    GIT撤销MERGING状态gitpull 合并代码的时候 若发生冲突 会处于 merging 状态 在命令行输入 gitresethard

    2026年3月18日
    2
  • 服务响应时间与分布(p99指标)

    服务响应时间与分布(p99指标)分析服务响应时间分布 如 均值 中位值 P95 值 P99 值等如何计算平均值我们考察一个服务器的性能 除了 QPS 数据外 还会考察响应时间 当服务器负载增高时 往往会伴随着响应时间的增长 但是这个值该如何度量 以精准的表现服务器当前之负载呢 最常用的值为平均值 表示服务的平均响应时间 通过该值我们能够知道服务当前响应的所有请求耗时的平均值 例如平均耗时为 100ms 表示服务器当前请求的总耗时 请求总数量 通过该值 我们大体能知道服务运行情况 但是对于具体有多少个请求的耗时比 100ms 要大 大多少

    2026年3月17日
    2
  • python中的科学计数法表示

    python中的科学计数法表示在 python 中如何使用科学计数法对我们想要定义的变量进行赋值呢 请看以下代码 coding utf 8 author 15025time 2021 8 214 43software PyCharmDescr Scientificex x 1e 3×1 1e 03×2 1e 003×3 1E 3×4 1E 3print x print x

    2026年3月20日
    2
  • docker(10)上传本地镜像到镜像仓库[通俗易懂]

    docker(10)上传本地镜像到镜像仓库[通俗易懂]前言之前通过docker搭建过jenkins+python3环境,如果想要在不同的机器上搭建一样的环境,就可以将之前搭建的镜像上传到镜像仓库,这样方便在不同的机器上快速搭建同一套环境。如果公开的话

    2022年7月30日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号