Pergunta

Como faço para sobreposição de widgets em Qt?

Eu quero criar alguns widgets e colocá-los fora do layout, mas sim ajustar seu tamanho e posição quando a geometria de algum outro elemento é alterado.

Algo como os botões na tela:

text alt

Foi útil?

Solução

Você só precisa criar o seu QPushButton (ou qualquer QWidget), indicar o seu pai QWidget e depois exibi-lo.

Do not adicioná-lo à disposição dos pais então você não será capaz de movê-lo como quiser.

Não se esqueça de indicar o seu pai então ele irá ser exibido como QWidget independente.

Nestas condições o seu QPushButton será considerado como filho do QWidget, mas não membro da disposição do pai. Por isso, será uma criança "flutuante" e você deve gerenciá-lo de comportamento quando o redimensionamento dos pais QWidget.

Se você quer um comportamento unificado para todos os botões de sobreposição, você deve subclasse QLayout e membros redefinir bahaviour.

Outras dicas

Se eles são filhos de um widget sem um layout, você deve ser capaz de movê-los como quiser, eu acho.

Eu precisava de um widget como este para um projeto que estou trabalhando, então eu segui o conselho Patrice e escreveu este código (Python) PyQt4 widget Overlay

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