Support Request #11007
closedNo UI Widget when overriding Init of cQtUIFilter
Description
Supportanfrage
ich bin auf ein Problem beim hinzufügen einer GUi für einen Filter gestoßen. Wenn ich die Funktion
"virtual tResult Init(tInitStage eStage) override;" in meinem Filter verwende, wird mir die GUI nicht
länger angezeigt. Muss ich evtl. die Funktion CreateView() manuell in der Init aufrufen, oder kann man
das nicht kombinieren?
Falls es nicht geht, gibt es eine andere Möglichkeit die Properties eines Filters über eine GUI zu verändern,
auch wenn die GUI in einem externen Filter ist?
Lösung
sieh dir mal unser Bsp. Demo Qt Video Display Filter, hier wird auch die ::Ini@t üebrschrieben.
::Init@ der Basisklasse
Wichtig dabei:
Du musst zu Beginn deiner Funktion die cQtUIFilter
aufrufen, siehe Implementierung im example:
RETURN_IF_FAILED(cQtUIFilter::Init(eStage));
Ansonsten hängt sich das Window nicht ins XSystem
, das übernimmt die Basisklasse für dich.
Den Basis ::Init
call musst du ja bei einen normalen cFilter
Ableitung auch machen.
Steht auch so in der Doku -> cFilterBase::Init
Noch ein Hinweis zu deinem Use Case:
Im ADTF 3 legst du Property Variablen an und registrierst diese.
d.h. die haben immer den aktuellen Wert aus der Laufzeit.
Mit der 3.7.0 wird es auch ein Callback dafür geben.