2017-01-11 1 views
0

J'essaye de faire une application PySide. J'ai regardé quelques tutoriels pour essayer de résoudre le problème mais aucun n'a fonctionné et je n'ai aucune erreur dans mon code. est ici le fichier où je ferais le script main.pyPython PySide avec Qt Designer

import sys 
from PySide import QtGui 
from ui import Ui_Form 

class Main(QtGui.QMainWindow): 
def __init__(self): 
    super(QtGui.QMainWindow) 
    self.ui = Ui_Form() 
    self.ui.setupUi(self) 


if __name__ == '__init__': 
    app = QtGui.QApplication(sys.argv) 

    wid = QtGui.QWidget() 
    wid.resize(250, 150) 
    wid.setWindowTitle('Simple') 
    wid.show() 

    sys.exit(app.exec_()) 
+0

quel tutoriel? Vous créez la classe 'Main()' mais vous ne l'utilisez pas. Peut-être que vous devriez faire 'wid = Main()' – furas

+0

premier problème: il doit '' "__main __" 'en ligne' si __name__ == '__main __': '. Il semble que vous deviez revoir tous les tutoriels. – furas

+0

ne lance toujours rien et Main() est souligné comme une erreur mais la console Pycharm n'imprime aucune erreur – SS2

Répondre

2
  1. Il doit être '__main__'

    if __name__ == '__main__': 
    
  2. Vous avez la classe Main() mais vous ne l'utilisez pas

    wid = Main() 
    
  3. Vous devez exécuter super() manière correcte

    super(Main, self).__init__() 
    
  4. BTW: et vous avez mal renfoncements à l'intérieur de la classe

exemple de travail - sans ui parce que je ne l'ai pas - mais il montre la fenêtre .

from PySide import QtGui 
import sys 
#from ui import Ui_Form 

class Main(QtGui.QMainWindow): 

    def __init__(self): 
     super(Main, self).__init__() 
     #self.ui = Ui_Form() 
     #self.ui.setupUi(self) 
     self.resize(250, 150) 
     self.setWindowTitle('Simple') 
     self.show() 

if __name__ == '__main__': 
    app = QtGui.QApplication(sys.argv) 

    wid = Main() 

    sys.exit(app.exec_()) 
-1

Eh bien, je viens de réaliser que je n'ai jamais couru self.show(). Problème résolu