当前位置: 代码迷 >> QT开发 >> Qt程序,明明设立了点x 是隐藏窗体,为什么有时候会关闭
  详细解决方案

Qt程序,明明设立了点x 是隐藏窗体,为什么有时候会关闭

热度:385   发布时间:2016-04-25 02:52:43.0
Qt程序,明明设置了点x 是隐藏窗体,为什么有时候会关闭?
Qt程序,设置了点 x 是隐藏主窗体(有托盘图标),大多数时候是正常工作的。
为什么有时候, 有时候,有时候……点 x 会关闭程序?好像是运行一段时间后会这样
啥情况呀?
------解决思路----------------------
没有遇到过。你开了n个窗口,当最后一个窗口关闭时,Qt认为程序结束了。
------解决思路----------------------
当时我也做了很久,现在丛云里面找来了,还不能解决那我就没办法了。
void MyWidget::changeEvent(QEvent *event)
{
    if(event->type() == QEvent::WindowStateChange)
    {
        if(windowState() & Qt::WindowMinimized)
            QTimer::singleShot(0, this, SLOT(hideMainWidget()));
        else if(windowState() & Qt::WindowNoState)
            QTimer::singleShot(0, this, SLOT(showMainWidget()));
    }
    QWidget::changeEvent(event);
}
void MyWidget::hideMainWidget()
{
    this->showMinimized();
    if (lrc->isHidden())
        lrc->hide();
    else
        lrc->show();
}
void MyWidget::showMainWidget()
{
    lrc->hide();
    show();
    setWindowState(Qt::WindowNoState);
}
  相关解决方案