Domanda

Il QMainWindow è la finestra principale in un'applicazione Qt. Quindi di solito ne avresti solo una, ma sarebbe possibile avere più istanze QMainWindow nella tua applicazione?

Sto lavorando per integrare un'applicazione GUI basata su Qt B in un'altra applicazione GUI basata su Qt A . Entrambe queste applicazioni hanno un QMainWindow , e stavo prendendo in considerazione come primo passo la creazione di un nuovo QMainWindow con entrambe le vecchie QMainWindows . In questo modo mi consentirebbe di concentrarmi sul cablaggio del backend della GUI B al backend di A senza dover modificare nulla nell'interfaccia utente stessa. È un approccio praticabile o hai altri suggerimenti?

È stato utile?

Soluzione

Puoi avere tutte le istanze QMainWindow che desideri. Un QMainWindow è solo un QWidget che fornisce una barra dei menu, una barra degli strumenti, una barra di stato e un framework di docking. Ma fondamentalmente è solo un QWidget , quindi puoi averne quanti ne vuoi.

Normalmente hai solo un QMainWindow per motivi di progettazione della GUI poiché può essere confuso avere più finestre principali. Tuttavia, quando si implementano applicazioni come QtAssistant che possono aprire una nuova istanza di se stessi, l'unico processo ha più finestre principali.

Quello che suggerisci dovrebbe funzionare. La finestra con le schede non dovrebbe essere un QMainWindow a meno che non si desideri anche aggiungere una barra degli strumenti anche a quella finestra.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top