我正在为3D模型开发一个生成设计项目。我需要创建一个简单的QT应用程序,允许用户使用VTK查看网格,并包括一些按钮来反馈到生成算法中。
GUI对我来说是全新的,所以我很难将这里的代码集成到更广泛的程序中。目前我仅尝试在查看器中创建一个单独的按钮和一个3D圆锥体。
我的代码在运行时崩溃了。它使用了给定链接中的QVTKRenderWindowInteractor()对象,并将该对象直接粘贴到文件中。
GUI对我来说是全新的,所以我很难将这里的代码集成到更广泛的程序中。目前我仅尝试在查看器中创建一个单独的按钮和一个3D圆锥体。
我的代码在运行时崩溃了。它使用了给定链接中的QVTKRenderWindowInteractor()对象,并将该对象直接粘贴到文件中。
try: import sys import vtk from PyQt5.QtWidgets import QWidget, QSizePolicy, QApplication, QPushButton, QVBoxLayout from PyQt5.QtCore import Qt, pyqtSignal, QTimer, QObject, QSize, QEvent except ImportError: raise ImportError("无法加载PyQt5")
import vtk
class neuralDesignerApp(QWidget):
def __init__(self):
super(QWidget,self).__init__()
self.initUI()
def initUI(self):
app = QApplication(['QVTKRenderWindowInteractor'])
vtkWindow = QVTKRenderWindowInteractor(self)
vtkWindow.Initialize()
vtkWindow.Start()
ren = vtk.vtkRenderer()
vtkWindow.GetRenderWindow().AddRenderer(ren)
cone = vtk.vtkConeSource()
cone.SetResolution(8)
coneMapper = vtk.vtkPolyDataMapper()
coneMapper.SetInputConnection(cone.GetOutputPort())
coneActor = vtk.vtkActor()
coneActor.SetMapper(coneMapper)
ren.AddActor(coneActor)
btn1 = QPushButton("Button 1", self)
vbox = QVBoxLayout()
vbox.addWidget(vtkWindow)
vbox.addWidget(btn1)
self.setLayout(vbox)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Neural Designer')
self.show()