QT问题:子部件获取位置pos()为(0,0)问题处理。

QT版本:win32 QT Creator5.9.9

问题描述:

今天处理一个ui中的子部件QLabel部件,在主窗口运行的时候,获取该子部件的位置以便覆盖显示另一个QWidget部件,在用QLabel的句柄使用pos()接口获取位置时,一直获取到的是(0,0)这个位置,而在设计模式中该子部件的位置信息是有的。

原因:

产生该问题的原因是在调用pos()接口时,是在主部件的构造函数当中调用的,看似没有问题,但是在构造函数没有运行结束的时候,主部件的初始化是未完成的,此时不具备相关信息。在构造函数之外调用pos()接口即可解决该问题。

posted @ 2020-07-20 01:05  小懒虫alex  阅读(1098)  评论(0)    收藏  举报