Question

Le QMainWindow est la fenêtre principale d'une application Qt. Donc, en général, vous n’en avez qu’une, mais serait-il possible d’avoir plusieurs instances QMainWindow dans votre application?

Je travaille sur l'intégration d'une application graphique basée sur Qt B dans une autre application graphique basée sur Qt A . Ces deux applications ont un QMainWindow et je envisageais dans un premier temps de créer un nouveau QMainWindow comportant les deux anciens QMainWindows dans les onglets. Ainsi, cela me permettrait de me concentrer sur le câblage du backend de l'interface graphique B vers le backend de A sans rien changer à l'interface utilisateur elle-même. Est-ce une approche viable ou avez-vous d'autres suggestions?

Était-ce utile?

La solution

Vous pouvez avoir autant d'instances QMainWindow que vous le souhaitez. Un QMainWindow est simplement un QWidget qui fournit une barre de menus, une barre d'outils, une barre d'état et un cadre d'ancrage. Mais fondamentalement, il s’agit simplement d’un QWidget afin que vous puissiez en avoir autant que vous le souhaitez.

Normalement, vous n’avez qu’un seul QMainWindow pour des raisons de conception graphique car il peut être déroutant d’avoir plusieurs fenêtres principales. Toutefois, lors de la mise en œuvre d’applications telles que QtAssistant , qui peuvent ouvrir une nouvelle instance d’elles-mêmes, le processus en question comporte plusieurs fenêtres principales.

Ce que vous suggérez devrait fonctionner. La fenêtre avec les onglets ne doit pas nécessairement être QMainWindow , sauf si vous souhaitez également ajouter une barre d'outils à cette fenêtre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top