[vtkusers] InfoVis: vtkGraphLayoutView in QVTK Widget
Clinton Stimpson
clinton at elemtech.com
Mon Jun 29 12:01:53 EDT 2009
They PyQt4 wrapping doesn't have a SetRenderWindow(). Did you make your
own?
The PyQt[4] code isn't a wrapper around the C++ QVTKWidget class.
And Jeff, what changes and where were you thinking of to remove the
SetInteractor()?
I imagine vtkXRenderWindowInteractor needs changed.
Clint
Eric E. Monson wrote:
> Hey Jeff,
>
> Thanks for the quick reply. I tried (after updating to current CVS):
>
> self.view = vtk.vtkGraphLayoutView()
> self.view.SetInteractor(self.ui.vtkWidget.GetInteractor())
> self.ui.vtkWidget.SetRenderWindow(self.view.GetRenderWindow())
>
> but for some reason the GetInteractor() method doesn't seem to be
> wrapped in Python. I tried to cheat it by calling:
>
> self.view.SetInteractor(self.ui.vtkWidget._Iren)
>
> and it ran but still popped up an extra render window as before...
>
> I'll try looking through the page you referenced, but let me know if
> you have any other ideas.
>
> Thanks,
> -Eric
>
>
> On Jun 29, 2009, at 10:57 AM, Jeff Baumes wrote:
>
>> Try the following, it should work. This is the result of some major
>> view/representation refactoring that has taken place in VTK CVS. I'd
>> like to avoid the need for the SetInteractor() call in the future,
>> but currently it's necessary to avoid the popout on some systems.
>>
>> vtkRenderViewPtr->SetInteractor(qvtkWidget->GetInteractor());
>> qvtkWidget->SetRenderWindow(vtkRenderViewPtr->GetRenderWindow());
>>
>> If you're interested in some discussion of the refactoring, look here
>>
>> https://www.kitware.com/InfovisWiki/index.php/View_Representation_Refactoring
>>
>> Jeff
>>
>> On Mon, Jun 29, 2009 at 10:44 AM, Eric E. Monson <emonson at cs.duke.edu
>> <mailto:emonson at cs.duke.edu>> wrote:
>>
>> Hey again,
>>
>> I just tried to follow the Cxx EasyView and it still opens
>> another render window with all of my graph stuff in it, and the
>> QVTK widget just shows garbage from the last application that I
>> ran (which here happens to be another PyQt4 app showing a
>> cylinder that worked just fine -- screen shot attached).
>>
>> class SimpleView(QtGui.QMainWindow):
>>
>> def __init__(self, parent = None):
>>
>>
>> QtGui.QMainWindow.__init__(self, parent)
>> self.ui = Ui_MainWindow()
>> self.ui.setupUi(self)
>>
>> self.view = vtk.vtkGraphLayoutView()
>> self.ui.vtkWidget.SetRenderWindow(self.view.GetRenderWindow())
>>
>>
>> I'm using OS X 10.5.7, Qt 4.4.3, VTK CVS from June 18th, Python 2.5.
>>
>> Thanks,
>> -Eric
>>
>>
>>
>>
>>
>> On Jun 29, 2009, at 9:59 AM, Eric E. Monson wrote:
>>
>> Hello,
>>
>> I have a little Python/PyQt4 app that I made about six months
>> ago to view graphs using the Titan classes. A
>> vtkGraphLayoutView should show up in a QVTK Widget which I
>> placed using Designer, but now with CVS VTK I get a separate
>> RenderWindow popping up showing my graph...
>>
>> vtkGraphLayoutView used to have a SetupRenderWindow() method,
>> so I used to set things up by:
>>
>> QtGui.QMainWindow.__init__(self, parent)
>> self.ui = Ui_MainWindow()
>> self.ui.setupUi(self)
>>
>> self.ren = vtk.vtkRenderer()
>> self.ui.vtkWidget.GetRenderWindow().AddRenderer(self.ren)
>>
>> [...]
>>
>> self.view = vtk.vtkGraphLayoutView()
>> win = self.ren.GetRenderWindow()
>> self.view.SetupRenderWindow(win)
>>
>> Now if I just take out the view.SetupRenderWindow(win) call,
>> I get a separate RenderWindow popping up and the QVTK widget
>> is all black. I tried reordering the calls to something like
>> this:
>>
>> self.view = vtk.vtkGraphLayoutView()
>> self.ren = self.view.GetRenderer()
>> self.ui.vtkWidget.GetRenderWindow().AddRenderer(self.ren)
>> self.win = self.ui.vtkWidget.GetRenderWindow()
>>
>> Then the graph shows up in BOTH the extra window and my QVTK
>> Widget.
>>
>> I know I'm just ignorant about the correct method -- can
>> anybody help me set up a vtkGraphLayoutView in a QVTK Widget
>> properly?
>>
>> Thanks a lot,
>> -Eric
>>
>> ------------------------------------------------------
>> Eric E Monson
>> Duke Visualization Technology Group
>>
>>
>> _______________________________________________
>> Powered by www.kitware.com <http://www.kitware.com>
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the VTK FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>>
>>
>>
>> _______________________________________________
>> Powered by www.kitware.com <http://www.kitware.com>
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the VTK FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>>
>>
>>
>>
>> --
>> Jeff Baumes, Ph.D.
>> R&D Engineer, Kitware Inc.
>> (518) 881-4932
>> jeff.baumes at kitware.com <mailto:jeff.baumes at kitware.com>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
More information about the vtkusers
mailing list