Qt Parent-Stil



  • Wurstinator schrieb:

    Ich verstehe nicht, was du meinst.

    Ich rede nicht von Layouts, sondern nur von den zwei oben geposteten Varianten.

    Vielleicht werden irgendwelche Einstellungen im Konstruktor vorgenommen, die dann später wieder geändert werden. Aber das ist auch nur eine Vermutung.



  • Du willst also sagen:
    Wenn man das parent-Widget zuerst manuell an den Konstruktor übergibt, könnte es zu Fehlern kommen, wenn es später durch addWidget o.ä. geändert wird?



  • Wurstinator schrieb:

    Du willst also sagen:
    Wenn man das parent-Widget zuerst manuell an den Konstruktor übergibt, könnte es zu Fehlern kommen, wenn es später durch addWidget o.ä. geändert wird?

    Nein, aber es KÖNNTE langsamer sein.



  • Also dann:
    Der einzige Unterschied zwischen Variante 1 und 2 ist, dass 1 etwas langsamer sein könnte. Daher sollte Nummer 2 verwendet werden.

    Richtig so? 🙂



  • Wurstinator schrieb:

    Also dann:
    Der einzige Unterschied zwischen Variante 1 und 2 ist, dass 1 etwas langsamer sein könnte. Daher sollte Nummer 2 verwendet werden.

    Richtig so? 🙂

    Ja. Du könntest allerdings auch einfach mal im Konstruktor von QWidget nachschauen...



  • Ich glaube, die Zeit, die ich bräuchte, um da alles zu verstehen, wäre größer als die, die das Programm mehr bräuchte 😉

    Danke für die Hilfe.



  • Mir ist die Idee gekommen, einfach mal in den Beispielprojekten von Qt nachzusehen. Dort wird der parent-Parameter vom Konstruktor (fast) immer angegeben. Es scheint also egal zu sein, welche Variante man nimmt.



  • Wieso eigentlich nicht mal nachlesen?

    QObject ( QObject * parent = 0 )
    QObject *	parent () const
    void	setParent ( QObject * parent )
    

    http://doc.qt.nokia.com/4.7/qobject.html#QObject schrieb:

    Constructs an object with parent object parent.
    The parent of an object may be viewed as the object's owner. For instance, a dialog box is the parent of the OK and Cancel buttons it contains.
    The destructor of a parent object destroys all child objects.
    Setting parent to 0 constructs an object with no parent. If the object is a widget, it will become a top-level window.



  • Ich habe sowieso gerade gemerkt, dass ich eher Variante 1 für schneller halten würde. Ich bin vorher einfach davon ausgegangen, dass du mich richtig verstanden hast und habe gar nicht mehr nachgeschaut, welche Variante was ist...



  • @ Zeus: Jetzt hast du mir die Definion von parent aufgeschrieben. Ich sehe leider nicht, wie das zu meiner Frage passt.

    @ wxSkip: Ja, meinte ich auch. Hab die beiden wohl selber verwechselt 😃


Anmelden zum Antworten