Múltiples instancias de QMainWindow?
-
11-07-2019 - |
Pregunta
El QMainWindow
es la ventana principal en una aplicación Qt. Entonces, por lo general, solo tendría una, pero ¿sería posible tener múltiples instancias QMainWindow
en su aplicación?
Estoy trabajando para integrar una aplicación GUI basada en Qt B en otra aplicación GUI basada en Qt A . Ambas aplicaciones tienen un QMainWindow
, y estaba considerando como primer paso crear un nuevo QMainWindow
que tenga ambas QMainWindows
en las pestañas. De esa forma me permitiría concentrarme en conectar el backend de la GUI B al backend de A sin tener que cambiar nada en la interfaz de usuario. ¿Es este un enfoque viable o tienes otras sugerencias?
Solución
Puede tener tantas instancias QMainWindow
como desee. Un QMainWindow
es solo un QWidget
que proporciona una barra de menú, barra de herramientas, barra de estado y marco de acoplamiento. Pero básicamente es solo un QWidget
para que puedas tener tantos como quieras.
Normalmente, solo tiene un único QMainWindow
por motivos de diseño de la GUI, ya que puede ser confuso tener múltiples ventanas principales. Sin embargo, al implementar aplicaciones como QtAssistant
que pueden abrir una nueva instancia de sí mismas, el único proceso tiene múltiples ventanas principales.
Lo que sugieres debería funcionar. La ventana con las pestañas no necesitaría ser una QMainWindow
a menos que también desee agregar una barra de herramientas a esa ventana.