zoukankan      html  css  js  c++  java
  • Qt实用技巧:界面切换使用Dialog全屏切换

    需求

            在做应用程序的过程中,需要使用界面切换,界面切换到下一个界面使用new一个界面并显示,如系统设置,相关信息展示等等。

           (注意:本技巧适用的条件是,主界面不需要相关的信号与槽做消息循环,因为主界面所运行的消息循环将停留在dialog的exec()并主要实现dialog内部的消息循环)

            此需求,使用dialog做即可,可显示全屏也可不显示全屏,没必要使用QWidget,其造成切换时,内存释放问题(实际过程中:new出来的页面,退出该页面后delete,再按住ALT+F4退出程序,应用程序退出后会造成异常表现为出现“”停止运行“”)

    原理

            使用dialog的exec()模态函数显示对画框,先使用showFullScreen(),再使用exec(),将实现全屏模态显示。

    注意

            全屏dialog的时候,使用alt+F4会关闭本dialog,退回到之前调用exec()的窗口(非退出应用程序)。

    代码示例

    切换到对话框界面

    [cpp] view plain copy
     
    1. void StartWidget::on_pushButton_chengJi_clicked()  
    2. {  
    3.     ChengJi chengJi();  
    4.     chengJi.showFullScreen(); // 需要全屏,否则注视掉  
    5.     chengJi.exec();           // 可判断返回值 QDialog::Accepted和QDialog::Rejected;  
    6. }  

    退出对话框界面

    [cpp] view plain copy
     
    1. void ChengJi ::on_pushButton_exit_clicked()  
    2. {  
    3.     accept(); // reject()也可以,其返回值 QDialog::Accepted和QDialog::Rejected;  
    4. }  

    http://blog.csdn.net/qq21497936/article/details/78634425

  • 相关阅读:
    低水平博士是提升科研生涯的毒药
    MATLAB——axis
    MATLAB——PLOT绘图
    漫谈正态分布的生成
    一位创业者创业失败后,成功的做了一个创业孵化器!
    iOS 使用Method Swizzling隐藏Status Bar
    翻转View
    【iOS】Plist-XML-JSON数据解析
    Android流式布局实现
    S3C2416裸机开发系列十六_sd卡驱动实现
  • 原文地址:https://www.cnblogs.com/findumars/p/8205952.html
Copyright © 2011-2022 走看看