标题:怎么判断Qt程序已经启动完毕了
作者:寒阳
日期:2018-07-02 15:20
内容:
场景是这样的,我的界面比较复杂,应用了较多布局,我想在程序启动完毕之后,动态计算并调整某些子控件的位置,我发现,就算主窗口已经调用了showevent函数之后,某些子控件的resizeevent还在被调用,因为resizeevent并非同步的,所以我没有办法知道,Qt的程序何时真的启动完毕,所有的控件都已经绘制完成了。请大侠指教!
#1 [XChinux 07-03 17:29]
我一般是这样处理的,在构造函数里末尾,加个QTimer::singleShot(0, this, SLOT(myFunc()));
#2 [jigetage 07-04 09:50]
应该不行,是异步操作。
#3 [hehui 12-14 08:46]
我的处理是在主窗口构造函数最后加一个单次的计时器,时间500MS,超时时执行重新布局的操作,这种方式不是非常保险,但没有更好的办法
#4 [clickto 12-14 09:29]
主窗口定义一个类似QSet之类或std::bitset之类的集合,对外提供一个方法来供子窗口初始化结束后赋值打卡,在该方法中判断是否所有子窗口都打卡完毕了。