Várias instâncias QMainWindow?
-
11-07-2019 - |
Pergunta
O QMainWindow
é a janela principal em uma aplicação Qt. Por isso, normalmente você teria apenas um, mas seria possível a todos a ter várias instâncias QMainWindow
na sua aplicação?
Eu estou trabalhando na integração de uma aplicação gráfica baseada em Qt B em outro aplicativo GUI baseada em Qt A . Ambas as aplicações têm um QMainWindow
, e eu estava pensando como um primeiro passo para criar um novo QMainWindow
que tem tanto de idade QMainWindows
em guias. Dessa forma, ele me permitiria concentrar-se na fiação do backend da GUI B para o servidor de A sem ter que mudar alguma coisa na interface do usuário em si. Será esta uma abordagem viável, ou você tem outras sugestões?
Solução
Você pode ter como muitas instâncias QMainWindow
como você quer. A QMainWindow
é apenas um QWidget
que fornece um quadro barra de menu, barra de ferramentas, barra de status e de encaixe. Mas, basicamente, é apenas um QWidget
assim que você pode ter como muitos como você gosta.
Normalmente, você só tem uma única QMainWindow
por razões de design de GUI, uma vez que pode ser confuso para ter várias janelas principais. No entanto, ao implementar aplicações como QtAssistant
que podem abrir uma nova instância de si mesmos, em seguida, o processo tem várias janelas principais.
O que você sugere deve funcionar. A janela com as guias não precisa ser um QMainWindow
menos que você queira também quer adicionar uma barra de ferramentas para essa janela também.