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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top