zoukankan      html  css  js  c++  java
  • Qt窗口hide()后的关闭机制

    https://blog.csdn.net/qq1623803207/article/details/78739960

    假设有这么一个“游戏”需求:

    1、用户登陆界面。

    2、登陆成功后,才能进入“游戏”主界面。

    如图:


    登陆成功了,游戏界面显示了,但登陆界面并没有消失/隐藏。

    为了使登陆界面隐藏,我们调用了hide()函数:


    问题来了:

    当“游戏”窗口关闭后,这个隐藏的“登陆”窗口怎么办?是否还在运行?如果关闭了,是属于正常关闭么?

    当然,强大的“信号和槽”机制给任何问题都提供了一个行得通的思路,即:重写closeEvent(QCloseEvent *event)的方法来通知“登陆窗口”.......

    其实,“游戏”窗口关闭后,隐藏的“登陆”窗口属于正常关闭

    Qt的帮助文档里面是这么说的:

    quitOnLastWindowClosed : bool

    This property holds whether the application implicitly quits when the last window is closed.

    The default is true.

    If this property istrue, the applications quits when the last visible primary window (i.e. window with no parent) is closed.

    Access functions:

    bool quitOnLastWindowClosed()

    void setQuitOnLastWindowClosed(bool quit).

    即:

    quitOnLastWindowClosed是一个bool型的属性,这个属性用来保留"当最后一个窗口关闭的时候,应用程序是否隐式退出",默认值是true。

    当这个属性为true的时候,应用程序会在最后一个可见的主窗口(比如:没有父窗口的窗口)关闭的时候退出。

    访问函数:

    quitOnLastWindowClosed()来获取当前的具体值。

    setQuitOnLastWindowClosed(bool quit)来更改当前值。true:退出,false:不退出。


    因此,当main函数做以下更改时,"登陆"窗口不会关闭,如图所示:


  • 相关阅读:
    FileChannel的基本使用
    qq在线交流
    ci框架连接数据库
    绩效管理,如何实现“投资于人”?
    Asp.Net开发中传递的URL的长度问题
    ASP.NET程序中常用的三十三种代码
    认识ASP.NET配置文件Web.config
    JS实现图片幻灯片效果
    一些web开发中常用的、做成cs文件的js代码
    div自适应浏览器高度的问题
  • 原文地址:https://www.cnblogs.com/xiang--liu/p/12886691.html
Copyright © 2011-2022 走看看