我试图使用小部件的winId将外来应用程序(python OCC)的显示嵌入到(Py)Qt中。但是当我把它传递给OCC时,我得到一个溢出错误。 检查winId qt返回其4318283408,这是一个超过32位的数字。我运行64位(osx),两个库都编译为64位,但我有一种预感,OCC只喜欢32位数字。所以我的问题是,有没有办法控制Qt返回的winId的范围?
由于
的Henrik
答案 0 :(得分:0)
查看Qt的源代码,在src/gui/kernel/qwindowdefs.h
文件中,您会发现WId
对64位OSX long
的类型定义(int
对于32位OSX)。 64位OSX上的long
长度为8个字节(或64位),因此4318283408是有效值。
如果要强制winId()返回32位值,则需要链接到Qt库的32位版本。