Portál AbcLinuxu, 12. května 2025 05:59

Dotaz: pyqt4,okno v okne

5.8.2008 10:21 vepro
pyqt4,okno v okne
Přečteno: 337×
Odpovědět | Admin
Pratele,
Jako zacatecnik bych potreboval poradit s pyqt4 s nasledujicim. Zjednodusene se jedna o vec jak vlozit do hlavniho okna widget (nejspis asi dalsi okno) na urcitou pozici v tomto hlavnim okne. Do tohoto okna bych pak chtel zobrazovat vystup renderu z vtk. Na zaver pridam kod ktery vykresli hlavni okno. Diky za radu
#!/usr/bin/python

import sys
import os
import string
import time
import re
import vtk
from PyQt4 import QtGui, QtCore

class MainWindow(QtGui.QMainWindow):
        def __init__(self):
                QtGui.QMainWindow.__init__(self)
                self.resize(1000, 400)
                self.setWindowTitle('segmentation')
                #main widget
                MainWidget=QtGui.QWidget(self)
                self.setCentralWidget(MainWidget)
             self.MainGridLayout=QtGui.QGridLayout(MainWidget)

app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.8.2008 09:23 vepro
Rozbalit Rozbalit vše Re: pyqt4,okno v okne
Odpovědět | | Sbalit | Link | Blokovat | Admin
No nic. Odpovedel jsem si sam
24.8.2008 10:50 hanzz | skóre: 19 | blog: hanzz
Rozbalit Rozbalit vše Re: pyqt4,okno v okne
jestli jsi nasel reseni, mohl bys ho tady prosim uvest? Mozna to pak nekomu pomuze
24.8.2008 20:08 vepro
Rozbalit Rozbalit vše Re: pyqt4,okno v okne
Dobra, snad by to mohlo nekomu pomoci. Nejdrive jsem klasicky vytvoril taby v Qt4 a pak do nich implementoval vtk. K implementaci vtk "okenek" jsem pouzil tridu QVTKRenderWindowInteractor z modulu QVTKRenderWidget2. Tento modul jsem stahnul z netu (bohuzel nemuzu najit znovu adresu). Prikladam relevantni kus kodu:
from QVTKRenderWidget2 import QVTKRenderWindowInteractor
                       #Qt widget
                        self.widget = QVTKRenderWindowInteractor(HeadWindow.ui.vtkDisplayWidgetSegment)
                        self.widget._RenderWindow.SetSize(430, 300)
                        self.widget._Iren.SetSize(430, 300)
                        #vtk
                        self.ia = vtk.vtkImageActor()
                        self.ia.SetInput(self.gs3.GetOutput())
                        self.ren2 = vtk.vtkRenderer()
                        self.ren2.SetBackground(1,1,1)
                        self.ren2.AddActor(self.ia)

                        self.widget.GetRenderWindow().AddRenderer(self.ren2)
                        self.widget.show()
kde HeadWindow.ui.vtkDisplayWidgetSegment je vytvoreny tab

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.