[Python] Richiamare finestra secondaria

Matteo Boscolo matteo.boscolo a boscolini.eu
Lun 8 Ott 2012 08:20:35 CEST


io avrei fatto cosi

from PyQt4 import QtGui, QtCore
import sys
class Visualizza_Lista(QtGui.QDialog):
     def __init__(self):
         QtGui.QDialog.__init__(self)
         self.resize(400,600)
         screen = QtGui.QDesktopWidget().screenGeometry()
         size =  self.geometry()
self.move((screen.width()-size.width())/2,(screen.height()-size.height())/2) 

         self.setWindowTitle("Win2")
##        layout = QtGui.QHBoxLayout()
##        self.textEdit=QtGui.QTextEdit()
##        self.textEdit.setReadOnly(True)
##        layout.addWidget(self.textEdit)
##        self.widget = QtGui.QWidget()
##        self.widget.setLayout(layout)
         #self.setCentralWidget(self.widget)

class MainWindow(QtGui.QMainWindow):

     def __init__(self):
         #codice della gui principale
        #qui richiamo tramite un button su signal clicked()
         QtGui.QMainWindow.__init__(self)
         layout = QtGui.QHBoxLayout(self)
         self.button=QtGui.QPushButton()
         layout.addWidget(self.button)
         self.widget = QtGui.QWidget()
         self.widget.setLayout(layout)
         self.setCentralWidget(self.widget)
         self.button.clicked.connect(self.richiama_secondaria)

     def richiama_secondaria(self):
         print "Qui"
         wLista=Visualizza_Lista()
         wLista.exec_()

if __name__ == '__main__':
     app = QtGui.QApplication(sys.argv)
     main = MainWindow()
     main.show()
     app.exec_()





Il 07/10/2012 12:28, tonino73 a libero.it ha scritto:
> Sto facendo un piccolo semplice programma in python con le Qt4, tanto per fare
> pratica. Il mio problema è il seguente. Ho 2 classi una la MainWindow con
> all'interno varie def e l'altra una gui secondaria. Quando cerco di richiamare
> la secondaria dall'interno di una def non si visualizza o meglio non resta
> visualizzata. Vi posto un po di codice:
>
> from PyQt4 import QtGui, QtCore
> class Visualizza_Lista(QtGui.QMainWindow):
>      def __init__(self):
>          QtGui.QMainWindow.__init__(self)
>          self.resize(400,600)
>          screen = QtGui.QDesktopWidget().screenGeometry()
>          size =  self.geometry()
>          self.move((screen.width()-size.width())/2,(screen.height()-size.
> height())/2)
>          self.setWindowTitle("Win2")
>          layout = QtGui.QHBoxLayout()
>          self.textEdit=QtGui.QTextEdit()
>          self.textEdit.setReadOnly(True)
>          layout.addWidget(self.textEdit)
>          self.widget = QtGui.QWidget()
>          self.widget.setLayout(layout)
>          self.setCentralWidget(self.widget)
>    
> class MainWindow(QtGui.QMainWindow):
>    
>      def __init__(self):
>          #codice della gui principale
>         #qui richiamo tramite un button su signal clicked()
> richiama_secondaria()
>
>      def richiama_secondaria(self):
>          wLista=Visualizza_Lista()
>          wLista.show()
>    
> if __name__ == '__main__':
>      app = QtGui.QApplication(sys.argv)
>      main = MainWindow()
>      main.show()
>      app.exec_()
>
> potete aiutarmi ?
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>



Maggiori informazioni sulla lista Python