• [^] # Re: je programmes pas en python

    Posté par . En réponse au message probleme avec PyQt4 et les signaux. Évalué à 2.

    Bon ben finalement tu avais raison semble t'il il y avait bien un probleme de focus. Je comprend pas trop la logique mais bon... Donc voici la solution:
    import sys
    from PyQt4.QtCore import *
    from PyQt4.QtGui import *
    class Test(QDialog):
     
     def __init__(self, parent=None):
     super(Test, self).__init__(parent)
    	self.toto = 0.3
    	self.totolabel = QLabel('toto')
    	self.totoedit = QLineEdit('{0:.2f}'.format(self.toto))
    	buttonBox = QDialogButtonBox(QDialogButtonBox.Reset)
    	layout = QGridLayout()
    	layout.addWidget(self.totolabel,0,0)
    	layout.addWidget(self.totoedit,0,1)
    	layout.addWidget(buttonBox, 1, 0, 1, 2)
    	self.setLayout(layout)
    	self.connect(self.totoedit, SIGNAL('returnPressed()'), self.returnedit)
    	self.connect(buttonBox.button(QDialogButtonBox.Reset), SIGNAL("clicked()"), self.resetForm)
    	buttonBox.setFocusPolicy(Qt.NoFocus)
     def resetForm(self):
    	print 'button reset clicked'
     def returnedit(self):
    	print 'return pressed in line edit'
    app = QApplication(sys.argv)
    test = Test()
    test.show()
    app.exec_()