def func(self, ipA,ipB, puertoA, puertoB):
            arrA = ipA.split(".")
            arrB = ipB.split(".")
            print(ipA)
            print(ipB)
            #si las     IPs están bien escritas
            if(len(arrA)==4 and len(arrB)==4):
                try:
                    #checo que todo sea entero
                    for x in arrA:
                        int(x)
                    for x in arrB:
                        int(x)
                    int(puertoA)
                    int(puertoB)
                    #inicializo el chat
                    chat=chatUserUI(str(self.nombre.text()),str(ipA),str(ipB), int(puertoA), int(puertoB))
                    chat.show()
                    chat.chatini()

                    self.close()
                except Exception as e:
                    print "Error al iniciar", traceback.format_exc()
                    msgBox.exec_()
            else:        
                msgBox.exec_()
 def crearChat(self,nombre,ipRemoto,puertoRemoto):
     print "Creando chat con " + nombre + " en la ip " + ipRemoto + " en el puerto " + str(puertoRemoto);
     
     #si se llama remotamente, el parámetro puertoRemoto es un QString
     if isinstance(puertoRemoto,QtCore.QString):
         #por lo tanto se parsea a entero
         puertoRemoto,ok = puertoRemoto.toInt();
         
     #inicializo un nuevo chat con mis datos y los datos del otro usuario
     nuevoChat = chatUserUI(self.nombre,nombre,self.ip,ipRemoto,self.puerto,puertoRemoto);
     """
         conecto la interfaz principal del chat con una señal que mandará la interfaz
         del chat directo al cerrarse
     """
     self.clienteUI.connect(nuevoChat,QtCore.SIGNAL("cerrarChat(QString)"),self.cerrarChat);
     
     nuevoChat.show();
     self.conversacionesActivas.append(nuevoChat); #agrego el chat a conversacionesActivas