qt界面加载是异步进行,但需要注意的是界面的加载操作需要等待程序空闲时才会进行,所以有时候我们会发现在一个函数中,我们的界面操作代码写在前面,HTTP连接操作写在后面,(例如:先让界面显示一张图片,然后通过HTTP连接对界面进行截图),但执行程序后会发现,程序已经进行截图了,但界面的图片并没有显示(预想应该是先显示图片,然后对界面进行截图,这样应该是能截到界面显示的图片)。
原因是程序在运行过程中遇到界面操作的代码会先进行类似标记的操作,只记录有这个操作,并不执行,在等待程序空闲后才会执行界面操作程序,而HTTP和其他非界面程序会即时执行操作,所以会看到先截图,后显示界面。所以这时候我们可以对程序进行sleep延时,让程序空闲,这样就能在sleep的时间里对界面进行操作。