Domanda

Nella mia applicazione QT Io uso un QTabWidget per la navigazione di base. Questa configurazione QTabWidget ho nell'interfaccia utente. In alcune delle schede della QTabWidget ho bisogno di avere QStackedWidget essere in grado di "drill-down nella vista".

Ho provato ad aggiungere la QStackedWidget dentro l'interfaccia utente anche ma aggiunge automaticamente una pagina alla pila. Voglio aggiungere le pagine per la QStackedWidget in codice invece. Se ho il codice cerco di fare questo lo stackedWidget hanno già una pagina standard in modo myWidget sarà il secondo nella pila.

MyWidget *myWidget = new MyWidget(ui.stackedWidget);
ui.stackedWidget->addWidget(myWidget);

Qual è il modo migliore e più semplice per configurare un QStackedWidget all'interno scheda QTabWidget?

È stato utile?

Soluzione

Come su:

QTabWidget *myTabWidget = new QTabWidget(this);
QStackedWidget *myStackedWidget = new QStackedWidget(myTabWidget);

myTabWidget->addTab(myStackedWidget, "Stacked Widget");

Inoltre è possibile rimuovere tutte le pagine di stack esistenti di Qt Designer / Creatore. Basta fare clic destro sul widget impilati e rimuovere tutte le pagine esistenti. Quindi è possibile aggiungere le pagine necessarie nel codice utilizzando addWidget().

Altri suggerimenti

direi - crearla in ui, proprio come si fa (in questo modo è più facile layout / posizione, aggiungere altri widget nella scheda successiva, ecc), ma è sufficiente rimuovere tutte le pagine esistenti (aggiunto dal designer) da codice e aggiungere i nuovi.

In realtà Designer dal Qt 4.6 permette di eliminare tutte le pagine dal widget di stacked - è necessario fare clic destro, andare al sottomenu "Pagina X di Y", e scegliere Elimina. Ripetere fino a quando tutte le pagine sono andati:)

Forse questo ha aggiunto al Designer proprio di recente, così si può ancora bisogno di rimuoverli dal codice se si dispone di una versione precedente di Qt.

A proposito di mantenere roba dentro ui contro mantenendolo in codice avrei votato per "tanto nella UI-file come possibile":)

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