Así que ... Estoy trabajando para intentar pasar de la Python básica a la programación de la GUI, usando PyQt4. Estoy buscando un par de libros y tutoriales diferentes, y cada uno parece tener una forma ligeramente diferente de iniciar la definición de la clase.Diferentes formas de usar __init__ para PyQt4
Un tutorial comienza las clases de este modo:
class Example(QtGui.QDialog):
def __init__(self):
super(Example, self).__init__()
Otro libro hace como este:
class Example(QtGui.QDialog):
def __init__(self, parent=None):
super(Example, self).__init__(parent)
Y otro lo hace de esta manera:
class Example(QtGui.QDialog):
def__init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
I Todavía estoy tratando de concentrarme en las clases y OOP y super()
y todo ... ¿estoy en lo correcto al pensar que la última línea del tercer ejemplo logra más o menos lo mismo que las llamadas usando super()
en las anteriores, llamando explícitamente a la clase base directamente? Para ejemplos relativamente simples como estos, es decir, herencia única, ¿hay algún beneficio real o razón para usar una forma vs. la otra? Finalmente ... el segundo ejemplo pasa parent
como argumento a super()
mientras que el primero no ... ¿adivinanzas/explicaciones sobre por qué/cuándo/dónde eso sería apropiado?
Eres una respuesta * rápida * typer - camino delante de mí – Hubro
@Codemonkey 7 minutos después de que se hizo la pregunta, no * que * rápido. :) – Dougal