[pyar] errores en el instanciamiento
Fernando Gonzalez
fagonzalez en steel.com.ar
Mie Jun 13 13:24:36 ART 2012
Hola a todos, estoy haciendo una importación de mis bibliotecas a
python, tengo una clase que despliega dos botones, el código:
import sys
from PyQt4 import QtCore
from PyQt4 import QtGui
class frmHijo(QtGui.QDialog):
a = 0
def __init__(self, parent=None):
super(frmHijo, self).__init__(parent)
self.resize(499, 300)
self.cmdCancel = QtGui.QPushButton()
self.cmdOk = QtGui.QPushButton()
self.cmdOk.setText("&OK")
self.cmdCancel.setText("&Cancelar")
self.lbl1 = QtGui.QLabel()
self.lbl1.setText("Cliente")
self.Hlayout = QtGui.QHBoxLayout()
self.Hlayout.setGeometry(QtCore.QRect(420, 0, 71, 271))
self.Hlayout.addWidget(self.lbl1)
self.Vlayout = QtGui.QVBoxLayout()
self.Vlayout.setGeometry(QtCore.QRect(420,0,71,27))
self.Vlayout.addWidget(self.cmdCancel)
self.Vlayout.addWidget(self.cmdOk)
self.setLayout(self.Vlayout)
self.UpdateUI()
def UpdateUI(self):
self.connect(self.cmdOk, QtCore.SIGNAL("clicked()"),self.Respuesta)
def Respuesta(self):
self.emit(QtCore.SIGNAL("BotonOk"), self.a)
self.a = self.a + 1
#print self.a
esta clase es instaciada desde esta otra clase:
import sys
from PyQt4 import QtCore
from PyQt4 import QtGui
import hijo01
class frmPadre(QtGui.QDialog):
def __init__(self, parent=None):
super(frmPadre, self).__init__(parent)
self.spin1 = QtGui.QSpinBox()
self.cmdOk = QtGui.QPushButton()
self.cmdOk.setText("&OK")
layout =QtGui.QVBoxLayout()
layout.addWidget(self.spin1)
layout.addWidget(self.cmdOk)
self.setLayout(layout)
self.hijo = hijo01.frmHijo()
self.cmdOk.clicked.connect(self.llamarAlHijo)
def llamarAlHijo(self):
self.cmdOk.clicked.connect(self.llamarAlHijo)
self.hijo.connect(self.hijo, QtCore.SIGNAL("BotonOk"),
self.RespondeElHijo)
self.hijo.show()
def RespondeElHijo(self, a):
print u"todo ok, llamada n?mero: " + str(a)
del(self.hijo)
self.hijo = hijo01.frmHijo()
def main():
app = QtGui.QApplication(sys.argv)
form = frmPadre()
form.show()
app.exec_()
if __name__ == '__main__':
main()
el problema es que de esta manera cada vez que se ejecuta llamarAlHijo
se instancia la clase hijo01, todo bien, cuando pulso el boton Ok de la
clase hijo01 se ejecuta RespondeElHijo, y se muesta el valor a, siempre
es "0", pero al ejecutar la segunda vez repsonde 2 veces, la tercera
cuatro asi sucesivamente, que es lo que esta mal?
desde a gracias
Fer
More information about the pyar
mailing list