2010-06-07 8 views
0

Je suis nouveau sur PyQT4. Après quelques tuts j'ai décidé de faire une simple interface graphique dans laquelle je vais entrer du texte en première ligne et en cliquant sur le bouton Reverse, il affichera une chaîne inversée sur la deuxième ligne.Je ne peux pas obtenir un slot personnalisé fonctionnant en PyQT4 avec le concepteur QT4

J'ai fait un slot personnalisé pour cela, en définissant la fonction dans ma classe. Mais quand je clique sur le bouton, rien ne se passe. J'ai utilisé des slots in-bilt pour le bouton Clear et le bouton Exit dans mon interface graphique et ils fonctionnent parfaitement.

Si quelqu'un peut juste clarifier ce problème de fente personnalisée, cela m'aiderait à aller plus loin.

Merci d'avance.

Voici une photo de mon GUI

http://img196.imageshack.us/img196/7131/diall.png

Fichier final Stringreverse.py

import sys 
from PyQt4 import QtCore, QtGui 



from stringreverse_ui import Ui_Dialog 

    class MyForm(QtGui.QMainWindow): 
    def __init__(self, parent=None): 
     QtGui.QWidget.__init__(self, parent) 
     self.ui=Ui_Dialog() 
     self.ui.setupUi(self) 
    QtCore.QObject.connect(self.ui.pushButton_3,QtCore.SIGNAL("Click()"), self.reverse) 



    def reverse(self): 
     s=self.ui.lineEdit_2.text() 
     self.ui.lineEdit.setText(s[::-1]) 




if __name__ == "__main__": 
    app = QtGui.QApplication(sys.argv) 
    myapp = MyForm() 
    myapp.show() 
    sys.exit(app.exec_())enter code here 

Répondre

0

Essayez d'utiliser QtCore.SIGNAL("clicked()") au lieu de QtCore.SIGNAL("Click()").

+0

Merci pour la réponse Francis. Je l'ai essayé. Mais encore une fois, cela n'affecte aucun changement. Genre de frustrant. – maverick