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()) |
![]() |
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 |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |