2009-12-10 7 views
0

Je suis nouveau sur PyQt même si je connais un peu Python .. Je voulais designer Qt pour la programmation GUI car cela facilitera mon travail. J'ai pris un simple dialogue dans le concepteur Qt et converti en utilisant pyuic4.Comment lancer le programme généré par pyuic4?

from PyQt4 import QtCore, QtGui 

class Ui_Form1(object): 
    def setupUi(self, Form1): 
     Form1.setObjectName("Form1") 
     Form1.resize(495, 364) 
     self.listWidget = QtGui.QListWidget(Form1) 
     self.listWidget.setGeometry(QtCore.QRect(60, 100, 221, 111)) 
     self.listWidget.setObjectName("listWidget") 
     self.lineEdit = QtGui.QLineEdit(Form1) 
     self.lineEdit.setGeometry(QtCore.QRect(60, 250, 221, 26)) 
     self.lineEdit.setObjectName("lineEdit") 
     self.pushButton = QtGui.QPushButton(Form1) 
     self.pushButton.setGeometry(QtCore.QRect(350, 170, 92, 28)) 
     self.pushButton.setAutoDefault(False) 
     self.pushButton.setObjectName("pushButton") 

     self.retranslateUi(Form1) 
     QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL("clicked()"), self.listWidget.clear) 
     QtCore.QMetaObject.connectSlotsByName(Form1) 

    def retranslateUi(self, Form1): 
     Form1.setWindowTitle(QtGui.QApplication.translate("Form1", "Form1", None, QtGui.QApplication.UnicodeUTF8)) 
     self.pushButton.setText(QtGui.QApplication.translate("Form1", "X", None, QtGui.QApplication.UnicodeUTF8)) 

Je veux exécuter ce programme. Comment exécuter ce programme à partir de ce fichier en l'important? Je sais que c'est une question très simple.

Répondre

3

Vous pouvez transmettre le paramètre -x à pyuic. Il va générer du code supplémentaire pour rendre le script exécutable.


En application réelle, vous devriez mieux écrire une sous-classe de QMainWindow qui pourrait ressembler à ceci:

# Store this code in the file MyMainWindow.py 
from PyQt4.QtGui import * 

class MyMainWindow(QMainWindow): 
    def __init__(self, ui_layout): 
     QMainWindow.__init__(self) 

     self.ui = ui_layout 
     ui_layout.setupUi(self) 

Et aussi créer un script exécutable principal dans le même répertoire que MyMainWindow.py:

Puis exécutez ce dernier script pour lancer le programme.
from PyQt4.QtGui import * 
from MyMainWindow import * 
from Form1 import *    # replace Form1 the name of your generated file 
import sys 

app = QApplication(sys.argv) 

window = MyMainWindow(Ui_Form1()) 
window.show() 

sys.exit(app.exec_()) 

+0

Un grand merci Alex pour la réponse .. Cela a résolu de nombreux problèmes .. Très heureux de recevoir une réponse immédiate de ce forum .. – Jeba

Questions connexes