Métodos QPushButton
O QPushButton classe tem muitos métodos para realizar várias tarefas relacionadas a botões. Alguns dos métodos mais comumente usados desta classe são mencionados abaixo:
Nome do Método | Objetivo |
---|---|
texto() | Usado para ler a legenda do botão. |
setText () | Usado para definir o texto na legenda do botão. |
setIcon () | Usado para definir um ícone na legenda do botão. |
conjunto padrão() | Usado para definir o botão padrão. |
setEnabled () | Usado para habilitar ou desabilitar botões. Um valor de Verdadeiro é usado para habilitar o botão, e um valor de Falso é usado para desativar o botão. |
setCheckable () | Usado para identificar se o botão foi pressionado ou liberado. |
está checado() | Usado para ler o estado do botão que é um valor booleano. |
alternancia() | Usado para alternar entre estados. Se o valor atual do estado do botão for Verdadeiro, então o valor mudará para Falso, e vice versa. |
Uso de QPushButton
As seções a seguir fornecem vários exemplos simples para explicar o uso de QPushButton.
Exemplo 1: Criar um botão de ação simples
O seguinte script é usado para criar um único botão na janela. O script irá anexar uma função personalizada com o evento clicado do botão para verificar se o botão foi clicado. A janela exibirá um botão após a execução do código. Se o usuário clicar no botão, o texto 'Botão pressionado' vai mostrar na etiqueta.
# Importe os módulos necessáriosimport sys
de PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel
# Defina a classe para criar um único botão de ação
classe ButtonExample (QWidget):
def __init __ (self):
# Chame o construtor pai
super().__iniciar__()
# Crie um botão
auto.btn = QPushButton ('Click Me', self)
# Defina o texto da dica de ferramenta para o botão
auto.btn.setToolTip ('Este é um botão simples')
# Defina a geometria do botão
auto.btn.setGeometry (100, 20, 100, 30)
# Chamar função quando o botão for clicado
auto.btn.clicado.conectar (eu mesmo.onClicked)
# Defina o rótulo na parte inferior do botão
auto.msgLabel = QLabel (", self)
# Defina a geometria do rótulo
auto.msgLabel.setGeometry (90, 60, 290, 60)
# Defina o título da janela
auto.setWindowTitle ('Uso de PushButton')
# Defina a geometria da janela principal
auto.setGeometry (10, 10, 300, 150)
# Defina a posição da janela principal na tela
auto.mover (850, 300)
# Exibir a janela
auto.mostrar()
# Defina a função para lidar com o evento de clique do botão
def onClicked (self):
# Defina o texto para o rótulo
auto.msgLabel.setText ('O botão está pressionado.')
# Crie um objeto de aplicativo e execute o aplicativo
app = QApplication (sys.argv)
button = ButtonExample ()
aplicativo.exec ()
A seguinte janela aparecerá após a execução do script.
Se o usuário clicar no Çlick Me botão, então o seguinte texto aparecerá na legenda abaixo do botão.
Exemplo 2: criar vários botões de ação
O script a seguir criará vários botões usando o QPushButton aula. Dois botões são criados no script. O evento clicado de 'sim'é anexado a um método chamado btn1_onClicked (), e o evento clicado do 'Não'é anexado a um método chamado btn2_onClicked (). Uma legenda criada abaixo dos botões exibirá a mensagem especificada com base no botão clicado pelo usuário. O setGeometry () função é usada para cada rótulo e botão para definir a posição dos objetos na janela.
import sysde PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel
classe MultiButtons (QWidget):
def __init __ (self):
# Chame o construtor pai
super().__iniciar__()
# Defina o rótulo na parte superior do botão
auto.topLabel = QLabel ('
Você gosta de python?
', auto)# Defina a geometria do rótulo
auto.topLabel.setGeometry (100, 20, 290, 50)
# Crie o primeiro botão
auto.btn1 = QPushButton ('Sim', próprio)
# Defina a geometria do botão
auto.btn1.setGeometry (130, 70, 60, 40)
# Chamar função quando o botão for clicado
auto.btn1.clicado.conectar (eu mesmo.btn1_onClicked)
# Crie o segundo botão
auto.btn2 = QPushButton ('Não', self)
# Defina a geometria do botão
auto.btn2.setGeometry (200, 70, 60, 40)
# Chamar função quando o botão for clicado
auto.btn2.clicado.conectar (eu mesmo.btn2_onClicked)
# Defina o rótulo na parte inferior do botão
auto.msgLabel = QLabel (", self)
# Defina a geometria do rótulo
auto.msgLabel.setGeometry (130, 120, 300, 80)
# Defina o título da janela
auto.setWindowTitle ('Uso de vários PushButtons')
# Defina a geometria da janela principal
auto.setGeometry (10, 10, 400, 200)
# Defina a posição da janela principal na tela
auto.mover (850, 300)
# Exibir a janela
auto.mostrar()
def btn1_onClicked (self):
# Defina o texto para o rótulo inferior
auto.msgLabel.setText ('
Você clicou em Sim.
')def btn2_onClicked (self):
# Defina o texto para o rótulo inferior
auto.msgLabel.setText ('
Você clicou em Não.
')# Crie um objeto de aplicativo e execute o aplicativo
app = QApplication (sys.argv)
botão = MultiButtons ()
aplicativo.exec ()
A seguinte janela aparecerá após a execução do script.
Se o usuário clicar no sim botão, a mensagem, 'Você clicou em Sim'será exibido como o texto do rótulo.
Se o usuário clicar no Não botão, a mensagem, 'Você clicou em Não ' será exibido como o texto do rótulo.
Conclusão
A classe QPushButton permite que os usuários criem um ou mais botões com base nos requisitos do aplicativo. Este tutorial mostrou o uso desta classe para criar um ou vários botões, bem como lidar com eventos de clique de botões usando funções de manipulador de eventos personalizadas.