Qt Widget sobreposições
-
06-07-2019 - |
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:
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