<div dir="ltr"><div class="markdown-here-wrapper" style="font-family:"Lucida Sans",Cantarell,Verdana,sans-serif;color:rgb(11,83,148)"><p style="margin:0px 0px 1.2em!important">Hi,</p>
<p style="margin:0px 0px 1.2em!important">Could you please share a screenshot of what you’re seeing and what you expect to see?</p>
<p style="margin:0px 0px 1.2em!important">Thanks,<br>Sankhesh</p>
<div title="MDH:SGksPGRpdj48YnI+PC9kaXY+PGRpdj5Db3VsZCB5b3UgcGxlYXNlIHNoYXJlIGEgc2NyZWVuc2hv
dCBvZiB3aGF0IHlvdSdyZSBzZWVpbmcgYW5kIHdoYXQgeW91IGV4cGVjdCB0byBzZWU/PC9kaXY+
PGRpdj48YnI+PC9kaXY+PGRpdj5UaGFua3MsPC9kaXY+PGRpdj5TYW5raGVzaDwvZGl2Pg==" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0"></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, May 9, 2018 at 6:17 AM mafiaskafia <<a href="mailto:tsilveira1993@gmail.com">tsilveira1993@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I need to create a simple QT application that allows the user to view meshes<br>
using VTK. So basically the program is a window with a frame and a button<br>
(for now). My layout is such that the button must fill half the length of<br>
the window, and the frame (that'll display the mesh) will fill the other<br>
half. For <br>
experimentation i tried the 3D ball shown here:<br>
<a href="https://stackoverflow.com/questions/48105646/embedding-vtk-object-in-pyqt5-window" rel="noreferrer" target="_blank">https://stackoverflow.com/questions/48105646/embedding-vtk-object-in-pyqt5-window</a><br>
<br>
Note: This is different the example above because i just want part of the<br>
window to be filled by the VTK widget, instead of the whole window.<br>
<br>
Here's my code for foo.py:<br>
<br>
from PyQt5 import QtCore, QtGui, QtWidgets<br>
<br>
class Ui_MainWindow(object):<br>
def setupUi(self, MainWindow):<br>
MainWindow.setObjectName("MainWindow")<br>
MainWindow.resize(743, 430)<br>
self.centralwidget = QtWidgets.QWidget(MainWindow)<br>
self.centralwidget.setObjectName("centralwidget")<br>
self.horizontalLayout =<br>
QtWidgets.QHBoxLayout(self.centralwidget)<br>
self.horizontalLayout.setObjectName("horizontalLayout")<br>
self.pushButton = QtWidgets.QPushButton(self.centralwidget)<br>
self.pushButton.setObjectName("pushButton")<br>
self.horizontalLayout.addWidget(self.pushButton)<br>
self.frame = QtWidgets.QFrame(self.centralwidget)<br>
self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)<br>
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)<br>
self.frame.setObjectName("frame")<br>
self.horizontalLayout.addWidget(self.frame)<br>
MainWindow.setCentralWidget(self.centralwidget)<br>
<br>
<br>
self.retranslateUi(MainWindow)<br>
QtCore.QMetaObject.connectSlotsByName(MainWindow)<br>
<br>
def retranslateUi(self, MainWindow):<br>
_translate = QtCore.QCoreApplication.translate<br>
MainWindow.setWindowTitle(_translate("MainWindow",<br>
"MainWindow"))<br>
self.pushButton.setText(_translate("MainWindow", "PushButton"))<br>
<br>
And here is my code for init.py:<br>
<br>
import vtk<br>
import sys<br>
from PyQt5 import QtCore, QtGui<br>
from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor<br>
from PyQt5.QtWidgets import QMainWindow, QApplication, QDialog,<br>
QFileDialog<br>
from foo import Ui_MainWindow<br>
from PyQt5 import Qt<br>
<br>
class MainWindow(QMainWindow, Ui_MainWindow):<br>
def __init__(self, parent=None):<br>
super(MainWindow, self).__init__(parent)<br>
self.setupUi(self)<br>
self.pushButton.clicked.connect(self.OpenVTK)<br>
<br>
def OpenVTK(self):<br>
<br>
self.vtkWidget = QVTKRenderWindowInteractor(self.frame)<br>
self.vl = Qt.QVBoxLayout() #I think the mistake might be here..<br>
self.vl.addWidget(self.vtkWidget)<br>
<br>
self.ren = vtk.vtkRenderer()<br>
self.vtkWidget.GetRenderWindow().AddRenderer(self.ren)<br>
self.iren = self.vtkWidget.GetRenderWindow().GetInteractor()<br>
<br>
# Create source<br>
source = vtk.vtkSphereSource()<br>
source.SetCenter(0, 0, 0)<br>
source.SetRadius(5.0)<br>
<br>
# Create a mapper<br>
mapper = vtk.vtkPolyDataMapper()<br>
mapper.SetInputConnection(source.GetOutputPort())<br>
<br>
# Create an actor<br>
actor = vtk.vtkActor()<br>
actor.SetMapper(mapper)<br>
<br>
self.ren.AddActor(actor)<br>
<br>
self.ren.ResetCamera()<br>
<br>
self.frame.setLayout(self.vl)<br>
self.setCentralWidget(self.frame)<br>
<br>
self.show()<br>
self.iren.Initialize()<br>
self.iren.Start()<br>
<br>
if __name__ == "__main__":<br>
app = QApplication(sys.argv)<br>
window = MainWindow()<br>
window.show()<br>
sys.exit(app.exec_())<br>
<br>
I would be very appreciated if someone could help me out. Thanks in advance!<br>
<br>
<br>
<br>
<br>
<br>
--<br>
Sent from: <a href="http://vtk.1045678.n5.nabble.com/VTK-Users-f1224199.html" rel="noreferrer" target="_blank">http://vtk.1045678.n5.nabble.com/VTK-Users-f1224199.html</a><br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="noreferrer" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=vtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="https://vtk.org/mailman/listinfo/vtkusers" rel="noreferrer" target="_blank">https://vtk.org/mailman/listinfo/vtkusers</a><br>
</blockquote></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div class="inbox-inbox-inbox-inbox-inbox-inbox-inbox-markdown-here-wrapper" style="font-family:"proza libre",sans-serif;color:rgb(0,56,107)"><h5 id="inbox-inbox-inbox-inbox-inbox-inbox-inbox-sankhesh-jhaveri" style="margin:1.3em 0px 1em;padding:0px;font-size:1.1em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(238,238,238);font-weight:bold;color:rgb(11,65,148)">Sankhesh Jhaveri</h5>
<h6 id="inbox-inbox-inbox-inbox-inbox-inbox-inbox--sr-research-development-engineer-kitware-http-www-kitware-com-518-881-4417" style="margin:1.3em 0px 1em;padding:0px;font-size:1em;color:rgb(11,83,148);font-family:"open sans",sans-serif;font-weight:normal"><em>Sr. Research & Development Engineer</em> | <a href="http://www.kitware.com/">Kitware</a> | (518) 881-4417</h6>
<div title="MDH:PGIgc3R5bGU9ImZvbnQtZmFtaWx5OiB2ZXJkYW5hLCBzYW5zLXNlcmlmOyBjb2xvcjogcmdiKDEx
LCA4MywgMTQ4KTsiPjxmb250IHNpemU9IjIiPiMjIyMjU2Fua2hlc2ggSmhhdmVyaTwvZm9udD48
L2I+PGRpdj48Zm9udCBjb2xvcj0iIzBiNTM5NCIgZmFjZT0idmVyZGFuYSwgc2Fucy1zZXJpZiIg
c2l6ZT0iMiI+PGI+PGJyPjwvYj48L2ZvbnQ+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6
IGFyaWFsLCBzYW5zLXNlcmlmOyBjb2xvcjogcmdiKDExLCA4MywgMTQ4KTsiPjxzcGFuIHN0eWxl
PSJmb250LWZhbWlseTogdmVyZGFuYSwgc2Fucy1zZXJpZjsiPjxpPiMjIyMjIypTci4gUmVzZWFy
Y2ggJmFtcDsgRGV2ZWxvcG1lbnQgRW5naW5lZXIqPC9pPiZuYnNwO3wmbmJzcDs8L3NwYW4+PC9z
cGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogdmVyZGFuYSwgc2Fucy1zZXJpZjsgY29sb3I6
IHJnYigxMSwgODMsIDE0OCk7Ij48YSBocmVmPSJodHRwOi8vd3d3LmtpdHdhcmUuY29tLyIgdGFy
Z2V0PSJfYmxhbmsiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCA4NSwgMjA0KTsiPktpdHdhcmU8L2E+
Jm5ic3A7fCZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IHZlcmRhbmEsIHNh
bnMtc2VyaWY7IGNvbG9yOiByZ2IoMTEsIDgzLCAxNDgpOyI+KDUxOCkgODgxLTQ0MTc8L3NwYW4+
PGJyPjwvZGl2PjxkaXY+PGRpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogdmVyZGFu
YSwgc2Fucy1zZXJpZjsgY29sb3I6IHJnYigxMSwgODMsIDE0OCk7Ij48L3NwYW4+PC9kaXY+PC9k
aXY+PC9kaXY+PC9kaXY+" style="height:0px;width:0px;max-height:0px;max-width:0px;overflow:hidden;font-size:0em;padding:0px;margin:0px"></div></div></div></div>