Pergunta

No meu aplicativo QT, uso um qtabwidget para a navegação base. Este qtabwidget I Setup na interface do usuário. Em algumas das guias do qtabwidget, preciso ter o QstackedWidget para poder "perfurar na vista".

Tentei adicionar o QstackedWidget também dentro da interface do usuário, mas ele adiciona automaticamente uma página à pilha. Quero adicionar as páginas para o QstackedWidget no código. Se eu estiver no código, tente fazer isso, o Widwidget já possui uma página padrão para que o MyWidget seja o segundo na pilha.

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

Qual é a melhor e mais fácil maneira de configurar uma guia QstackedWidget dentro da guia Qtabwidget?

Foi útil?

Solução

Que tal:

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

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

Além disso, você pode remover todas as páginas de pilha existentes no designer/criador do QT. Apenas clique com o botão direito do mouse no widget empilhado e remova todas as páginas existentes. Então você pode adicionar as páginas necessárias no código usando addWidget().

Outras dicas

Eu diria - crie -o na interface do usuário, assim como você (dessa maneira é mais fácil layout/posição, adicionar outros widgets na guia mais tarde, etc.), mas simplesmente remova todas as páginas existentes (adicionadas pelo designer) do código e adicione seus novos.

Na verdade, o designer do QT 4.6 permite excluir todas as páginas do widget empilhado - você precisa clicar com o botão direito do mouse, ir para submenu "página x de y" e escolher excluir. Repita até que todas as páginas desapareçam :)

Talvez isso tenha sido adicionado ao designer recentemente, então você ainda pode precisar removê -los do código se tiver uma versão anterior do QT.

Falando em manter as coisas dentro da interface do usuário contra mantê-las em código em que eu votaria "o máximo possível no arquivo da interface do usuário" :)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top