赞
踩
所有的showXXX函数都是会调用setVisible(true),往里看看:
代码路径:qtbase\src\widgets\kernel\qwidget.cpp
void QWidgetPrivate::setVisible(bool visible) ;
setVisible(true)的主要工作就是:
实际调用更新主界面的代码段:
最终会在show_helper内部发送QUpdateLaterEvent事件,然后通过事件循环机制进行update();
如果你在监控show过程中的事件,那么在updateLater事件前,应该是先处理QEvent::Polish、QResizeEvent,再处理showEvent事件,最终post发送updateLater事件;
且show_helper()会有段代码sendPendingMoveAndResizeEvents(); 保证接受到move和resize事件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。