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: 199 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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# 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 |






