Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Python ::: PyQt GUI Toolkit ::: QVBoxLayout

Como alinhar na parte superior (topo) ou inferior (fundo) os controles dentro de um QVBoxLayout do PyQt usando a função addStretch()

Quantidade de visualizações: 58 vezes
Como sabemos de dicas anteriores, o gerenciador de layout QVBoxLayout alonga os componentes colocados dentro dele na horizontal, e não na vertical, como faz o QHBoxLayout.

O problema é que, ao maximizarmos a janela, o gerenciador QVBoxLayout acaba adicionando espaço entre os componentes, e muitas vezes não é esse o comportamento que esperamos.

Podemos alinhar os controles dentro de um QVBoxLayout usando a função addStretch(). Se quisermos que os controles sejam alinhados no topo do gerenciador de layout nós fazemos a chamada à função depois que os controles são adicionados. Se quisermos o alinhamento no fundo, ou seja, na parte inferior, chamamos à função antes de adicionar os controles.

Veja uma aplicação PyQt completa demonstrando esse comportamento:

# vamos importar os módulos necessários
import sys
from PyQt6.QtCore import *
from PyQt6.QtGui import *
from PyQt6.QtWidgets import *
 
# uma classe JanelaPrincipal que extende QWidget
class JanelaPrincipal(QWidget):
  # construtor da classe
  def __init__(self):
    # chama o construtor da super classe
    super().__init__()
     
    #define o título da janela
    self.setWindowTitle("Cadastro de Clientes")
     
    # agora criamos três botões QPushButton
    btn1 = QPushButton('Cadastrar')
    btn2 = QPushButton('Listar')
    btn3 = QPushButton('Excluir')
 
    # criamos o gerenciado de layout QVBoxLayout     
    vbox = QVBoxLayout()
    # adicionamos os três botões ao gerenciador
    vbox.addWidget(btn1)
    vbox.addWidget(btn2)
    vbox.addWidget(btn3)

    # alinhamos os botões no topo do layout
    vbox.addStretch()
  
    # fornecedor este gerenciador como layout da janela
    self.setLayout(vbox)
 
    # e definimos sua posição e tamanho
    self.setGeometry(0, 0, 200, 100)
     
if __name__== "__main__":
  # criamos a aplicação PyQt
  app = QApplication(sys.argv)
  # criamos a janela principal
  janela_principal = JanelaPrincipal()
  # tornamos a janela visível
  janela_principal.show()
  # e executamos a aplicação
  sys.exit(app.exec())


Link para compartilhar na Internet ou com seus amigos:

Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 34 usuários muito felizes estudando em nosso site.