close和hide的区别

  • hide只是隐藏窗体。不会发送任何信号。
  • close一般也是隐藏窗口。但是它会发送QCloseEvent事件。你可以重写void QWidget::closeEvent(QCloseEvent * event) [virtual protected],可以隐藏widget或者不隐藏。Qt::WA_DeleteOnClose标志还会影响窗体在内存中的状态,如果设置了该标志,窗体就会被删除,而hide则不会。

最后主窗体的close会导致整个程序的退出,而hide明显不会。
PS:再对一个窗体调用close函数后,如果再调用show(),这个窗体又会被显示出来

posted @ 2020-02-25 20:22  friedCoder  阅读(1296)  评论(0编辑  收藏  举报