Qt frameGeometry返回的值不正确

Qt frameGeometry返回的值不正确,qt,x11,pyside,xorg,Qt,X11,Pyside,Xorg,我正在使用Qt(Python中的Pyside)获取绑定,并试图获取小部件的框架几何图形。当我尝试在启动时获取小部件的框架几何图形并在小部件上绘制元素时,它返回以下结果: PySide.QtCore.QSize(639, 479) 但是,这是不正确的结构件几何图形。如果我在小部件上重新绘制一些元素,我会得到以下结果: PySide.QtCore.QSize(1044, 571) 第二个输出是正确的帧几何图形,而不是第一个。根据这一条,它指出: 在X11上,窗口只有在窗口管理器对其进行装饰后才具

我正在使用Qt(Python中的Pyside)获取绑定,并试图获取小部件的框架几何图形。当我尝试在启动时获取小部件的框架几何图形并在小部件上绘制元素时,它返回以下结果:

PySide.QtCore.QSize(639, 479)
但是,这是不正确的结构件几何图形。如果我在小部件上重新绘制一些元素,我会得到以下结果:

PySide.QtCore.QSize(1044, 571)
第二个输出是正确的帧几何图形,而不是第一个。根据这一条,它指出:

在X11上,窗口只有在窗口管理器对其进行装饰后才具有框架。这在调用QWidget::show()和窗口接收到的第一个绘制事件之后的某个时间点异步发生,或者根本没有发生。请记住,X11是无策略的(其他人称之为灵活的)。因此,你不能对你的窗户将得到的装饰框做出任何安全的假设。基本规则:总有一个用户使用的窗口管理器打破了你的假设,他会向你抱怨


我想我没有得到正确的框架信息,因为窗户还没有装饰。这个问题有解决办法吗?

我知道的唯一解决办法似乎对我有效过好几次,然后我遇到了相同的问题是:

 pWidget->show();
 pWidget->hide();

 pWidget->whatever geometry method

我所知道的唯一解决办法,似乎对我有效过好几次,然后我面临同样的问题是:

 pWidget->show();
 pWidget->hide();

 pWidget->whatever geometry method