The QMainWindow
is the main window in a Qt application. So usually you'd have only one, but would it be possible at all to have multiple QMainWindow
instances in your application?
I am working on integrating a Qt-based GUI application B into another Qt-based GUI application A. Both these applications have a QMainWindow
, and I was considering as a first step to create a new QMainWindow
that has both old QMainWindows
on tabs. That way it would allow me to concentrate on wiring the backend of GUI B to the backend of A without having to change anything in the user interface itself. Is this a viable approach, or do you have other suggestions?
You can have as many QMainWindow
instances as you want. A QMainWindow
is just a QWidget
which provides a menu bar, toolbar, status bar and docking framework. But basically it is just a QWidget
so you can have as many as you like.
Normally you only have a single QMainWindow
for GUI design reasons since it can be confusing to have multiple main windows. However, when implementing applications like QtAssistant
which can open a new instance of themselves then the one process has multiple main windows.
What you suggest should work. The window with the tabs would not need to be a QMainWindow
unless you want to also want add a toolbar to that window as well.