MDIArea verwenden

Verschiedenes zu Qt
Antworten
Hofmann
Beiträge: 2
Registriert: 13. August 2008 15:20

MDIArea verwenden

Beitrag von Hofmann »

Hallo

Ich habe die Aufgabe eine Windowsanwendung auf Qt zu bringen.

Die Anwendung benutzt MDI-Childs mit Dialoglayout. Dazu kommt das die Fenstertitel selbstgebaut sind.

Mit QMdiArea() und der Eigenschaft Parent->setWindowFlags(Qt::FramelessWindowHint) bekomme ich das Erscheinungsbild
und die Funktionen hin. Allerdings funktioniert der Tab in den Feldern nach wie vor und das dazu noch MDI-Fensterübergreifend,
d.h. mit dem TAB wechselt auch der Focus der Fenster, dies passiert nicht wenn man dem MDI-Child einen Rahmen verpaßt.

Soll das so sein ?????????? wie kann man das abstellen. Stelle ich die setFocusPolicy(Qt::ClickFocus), funktioniert die
Focussteuerung durch eigene Befehl, allerdings bei TAB stürzt das Programm ab mit Stacküberlauf, wie kann ich den TAB
weit "unten" abfangen.

Weiterhin benötige ich die Eigenschaft Parent->setDisabled(TRUE), diese funktioniert auch.
Allerding muß die Anwendung auch mit Tasten ( ohne Maus ) bedient werden, dabei funktioniert die Home-Taste als Fensterumschaltung.
Es gibt Zustände wo das mymdi->setActiveSubWindow nicht mehr wirkt obwohl das richtige Fenster übergeben wird.

Und in diesem Zusammenhang noch eine Frage : gibt es ein Event bzw. eine virtuelle Funktion die aufgerufen wird wenn das
Fenster aktiv wird bzw. einen Signal-Slot Mechanismus.

Jörg Hofmann
Antworten