Frage

Die QMainWindow ist das Hauptfenster in einer Qt-Anwendung. Also in der Regel würden Sie haben nur eine, aber wäre es möglich, überhaupt mehrere QMainWindow Instanzen haben in Ihrer Anwendung?

Ich arbeite eine Qt-basierte GUI-Anwendung auf der Integration von B in einer anderen Qt-basierten GUI-Anwendung A . Beide Anwendungen haben eine QMainWindow, und ich erwäge als erster Schritt eine neue QMainWindow zu schaffen, die sowohl alte als QMainWindows auf Registerkarten. Auf diese Weise es erlauben würde, mich auf die Verdrahtung der Back-End-GUI B in das Backend von A zu konzentrieren, ohne irgendetwas in der Benutzeroberfläche selbst ändern zu müssen. Ist dies ein gangbarer Weg, oder haben Sie andere Vorschläge?

War es hilfreich?

Lösung

Sie können so viele QMainWindow Instanzen, wie Sie wollen. Ein QMainWindow ist nur ein QWidget, die eine Menüleiste bietet, Symbolleiste, Statusleiste und Docking-Framework. Aber im Grunde ist es nur ein QWidget so können Sie so viele, wie Sie möchten.

Normalerweise haben Sie nur eine einzige QMainWindow aus Gründen GUI-Design, da es verwirrend sein kann mehrere Hauptfenster zu haben. Wenn jedoch Anwendungen wie QtAssistant Implementierung, die eine neue Instanz von selbst öffnen kann dann der ein Prozess hat mehrere Hauptfenster.

Was Sie vorschlagen, funktionieren sollte. Das Fenster mit den Registerkarten benötigen würde kein QMainWindow sein, wenn Sie auch wollen auch eine Symbolleiste zu diesem Fenster hinzufügen möchten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top