Hola.
mmm, no estoy seguro, pero creo que el problema es el siguiente. En
efecto, es cierto que listWidget no existe, porque no se ha
inicializado. Mira que como la clase reproductor hereda de Ui_dialog
y sobreescribe su inicializadora (__init__), tienes que invocar la del
padre, ya que es en esta en la que se inicializa ese atributo
seguramente. Tendría que hacer algo como:
class reproductor(Ui_Dialog):
def __init__(self):
Ui_Dialog.__init__(self) # Aquí se crean todos los atributos
seguramente
self.iniciar_xmms()
self.llenar_lista()
También se puede usar super, pero, no es la forma que acostumbre :P.
Si esto no soluciona tu problema, entonces quizás serviría que
enviaras el archivo donde esta UI_Dialog. Para ejemplificar:
class Padre:
def __init__(self):
self.attr1 = 1
class Hijo(Padre):
def __init__(self):
# en este momento no existe attr1
Padre.__init__(self) # Ahora si existe
self.attr2 = 2
ark
2010/7/24 gonzalo figueroa <[email protected]>:
> Buenas tardes
> Soy nuevo en la lista, siempre me ah gustado python pero nunca había tenido
> el tiempo para aprender, ahora lo tengo y estoy fascinado con su
> flexibilidad. En fin, el motivo de este envío es en realidad por que estoy
> ahora aprendiendo a combinar con pyqt. No se si estoy consultando en el lugar
> adecuado, pero donde van casi de la mano, decidí a enviar este correo.
> Quiza para mi la documentación de pyqt no a sido muy clara, y tengo la
> esperanza de que alguno de ustedes me de una mano. Generalmente la mayoria de
> los ejemplos de este son con funciones agregadas al mismo archivo generado
> con pyuic y mis dudas van hacia acceder desde otro archivo, un main.py que
> cree.
>
> agrego mi main
>
> 1 import sys
> 2 import os
> 3 from PyQt4 import QtCore, QtGui
> 4 from gui import *
> 5 import xmmsclient
> 6
> 7 class reproductor(Ui_Dialog):
> 8 def __init__(self):
> 9 self.iniciar_xmms()
> 10 #self.llenar_lista()
> 11
> 12 def iniciar_xmms(self):
> 13 self.xmms = xmmsclient.XMMS("miCliente")
> 14 try:
> 15 self.xmms.connect(os.getenv("XMMS_PATH"))
> 16 except IOError, detail:
> 17 print "Conexion fallida:", detail
> 18 sys.exit(1)
> 19 wa = self.xmms.playlist_list_entries()
> 20 wa.wait()
> 21 lista = wa.value()
> 22 pos1 = lista[0]
> 23 total = len(lista) + pos1-1
> 24 self.lista_playlist =[]
> 25 while pos1 < total :
> 26 na = self.xmms.medialib_get_info(pos1)
> 27 na.wait()
> 28 valores = na.value()
> 29 self.lista_playlist.append(valores['title'])
> 30 pos1 += 1
> 31
> 32
> 33 def llenar_lista(self):
> 34 self.listWidget.addItems(self.lista_playlist)
> 35
> 36 def repro(self):
> 37 self.listWidget.addItems(self.lista_playlist)
> 38 result =self.xmms.playback_start()
> 39 result.wait()
> 40
> 41 def abrir(self):
> 42 #nada
> 43 def siguiente(self):
> 44 self.xmms.playback_tickle()
> 45
> 46 def anterior(self):
> 47 os.system("xmms2 prev")
> 48
> 49 def main():
> 50 app = QtGui.QApplication(sys.argv)
> 51 Dialog = QtGui.QDialog()
> 52 ui = reproductor()
> 53 ui.setupUi(Dialog)
> 54 Dialog.show()
> 55 sys.exit(app.exec_())
> 56
> 57 main()
>
>
> en la linea 7 tiene el parametro de la clase principal de la aplicacion
> visual Ui_Dialog
> llendo al grano la funcion llenar_lista() no funciona, dice que listWidget no
> existe en la clase reproductor, listWidget es el nombre de un listWidget tal
> cual, que cree visualmente.
> pero si funciona dentro de la funcion repro() que es una conexion de un boton.
>
> ando super perdido, ojala alguien pueda ayudarme. Mis disculpas si pyqt no es
> lo primordial de la lista.
> Muchas gracias.
>
> ____________________________________________________________
> Publish your photos in seconds for FREE
> TRY IM TOOLPACK at http://www.imtoolpack.com/default.aspx?rc=if4
> _______________________________________________
> Python-es mailing list
> [email protected]
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/