Qt winId()强制32位值

2024-09-28 17:30:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用widget的winId将一个来自外来应用程序(python OCC)的显示嵌入到(Py)Qt中。但是当我把它传递给OCC时,我得到了一个溢出错误。 检查winId qt将返回4318283408,该值大于32位数字。我正在运行64位(osx),两个库都是为64位编译的,但我有预感,OCC仍然只喜欢32位数字。所以我的问题是,有没有办法控制Qt返回的winId的范围?在

谢谢

亨里克


Tags: py应用程序错误数字widgetqtosx办法
1条回答
网友
1楼 · 发布于 2024-09-28 17:30:05

在Qt的源代码中,在文件src/gui/kernel/qwindowdefs.h中,您会发现WId对于64位OSX是long(对于32位OSX,int)。64位OSX上的long长度为8字节(或64位),因此4318283408是一个有效值。在

如果要强制winId()返回32位值,则需要链接到Qt库的32位版本。在

相关问题 更多 >