VTK与Qt兼容的问题
我正在尝试在Qt4窗口中嵌入VTK5的可视化,但遇到了一些问题。以下代码在我的Mac(10.6,Python 2.7)上无法运行:
from PyQt4 import QtGui
from vtk.qt4 import QVTKRenderWindowInteractor
import sys
class Window(QVTKRenderWindowInteractor.QVTKRenderWindowInteractor):
def __init__(self):
QVTKRenderWindowInteractor.QVTKRenderWindowInteractor.__init__(self,None)
if __name__=='__main__':
app = QtGui.QApplication(sys.argv)
w = Window()
w.show()
sys.exit(app.exec_())
当我尝试运行这段代码时,出现的错误是:
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 2 (X_ChangeWindowAttributes)
Resource id in failed request: 0x1a310140
Serial number of failed request: 7
Current serial number in output stream: 9
有没有人知道可能发生了什么问题?注意,如果我切换到
class ConeWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self,None)
我会看到一个小的空窗口弹出来,这正是我预期的。
1 个回答
2
我最终搞明白了,所以把解决方案放在这里,希望对其他人有用。我是这样安装VTK5的:
sudo port install vtk5 +python27
但我需要包含qt4_mac
这个版本。下面的方式可以成功:
sudo port install vtk5 +python27 +qt4_mac