Os botões são usados em aplicativos da GUI para executar várias operações com base nos eventos gerados pelo usuário. O
Qpushbutton A classe de pyqt é usada no python para criar botões exigidos pelo aplicativo. Esta classe herda as funcionalidades centrais do
QabstractButton aula. Texto ou ícones podem ser usados para legendar o botão. Os botões podem ser ativados usando um mouse e teclado. Qualquer evento de botão, incluindo o botão que está sendo clicado ou clicado duas vezes, pode ser associado a uma função ou método para lidar com o evento. Este tutorial mostra como criar vários tipos de botões usando o
Qpushbutton classe de pyqt em python.
Métodos QPushButton
O Qpushbutton A classe tem muitos métodos para executar várias tarefas relacionadas a botões. Alguns dos métodos mais usados desta classe são mencionados abaixo:
Nome do método | Propósito |
texto() | Usado para ler a legenda do botão. |
setText () | Usado para definir 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 ativar ou desativar botões. Um valor de Verdadeiro é usado para ativar o botão e um valor de Falso é usado para desativar o botão. |
setCheckable () | Usado para identificar se o botão é pressionado ou liberado. |
está checado() | Usado para ler o estado do botão que é um valor booleano. |
alternar() | Usado para alternar entre os estados. Se o valor atual do estado do botão for Verdadeiro, então o valor mudará para Falso, e vice versa. |
Qpushbutton uso
As seções a seguir fornecem vários exemplos simples para explicar o uso de Qpushbutton.
Exemplo 1: Crie um botão simples
O script a seguir é usado para criar um único botão na janela. O script 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 no rótulo.
# Importar módulos necessários
Importar sistemas
de pyqt5.Qtwidgets importar qapplication, qwidget, qpushbutton, qlabel
# Defina a classe para criar um único botão
classe ButtOnexample (qwidget):
def __init __ (self):
# Ligue para o construtor pai
super().__iniciar__()
# Crie um botão
auto.btn = qpushbutton ('clique em mim', eu)
# Definir 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.Setgeometria (100, 20, 100, 30)
# Função de chamada quando o botão é clicado
auto.btn.clicado.Conecte -se (self.OnClicked)
# Defina o rótulo na parte inferior do botão
auto.msglabel = qlabel (", eu)
# Defina a geometria do rótulo
auto.Msglabel.Setgeometria (90, 60, 290, 60)
# Defina o título da janela
auto.setWindowTitle ('Uso de PushButton')
# Defina a geometria da janela principal
auto.Setgeometria (10, 10, 300, 150)
# Defina a posição da janela principal na tela
auto.mover (850, 300)
# Exiba 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 é pressionado.')
# Crie 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: Crie vários botões de pressã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 do 'Sim'O botão está anexado a um método chamado BTN1_ONCLICKED (), e o evento clicado do 'Não'O botão está 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 () A função é usada para cada rótulo e botão para definir a posição dos objetos na janela.
Importar sistemas
de pyqt5.Qtwidgets importar qapplication, qwidget, qpushbutton, qlabel
Classe MultIbutTons (Qwidget):
def __init __ (self):
# Ligue para 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.Setgeometria (100, 20, 290, 50)
# Crie o primeiro botão
auto.btn1 = qpushbutton ('sim', self)
# Defina a geometria do botão
auto.BTN1.Setgeometria (130, 70, 60, 40)
# Função de chamada quando o botão é clicado
auto.BTN1.clicado.Conecte -se (self.BTN1_ONCLICKED)
# Crie o segundo botão
auto.btn2 = qpushbutton ('não', eu)
# Defina a geometria do botão
auto.BTN2.Setgeometry (200, 70, 60, 40)
# Função de chamada quando o botão é clicado
auto.BTN2.clicado.Conecte -se (self.BTN2_ONCLICKED)
# Defina o rótulo na parte inferior do botão
auto.msglabel = qlabel (", eu)
# Defina a geometria do rótulo
auto.Msglabel.Setgeometria (130, 120, 300, 80)
# Defina o título da janela
auto.setWindowTitle ('Uso de múltiplos presságios')
# Defina a geometria da janela principal
auto.Setgeometria (10, 10, 400, 200)
# Defina a posição da janela principal na tela
auto.mover (850, 300)
# Exiba a janela
auto.mostrar()
def Btn1_OnClicked (self):
# Defina o texto para o rótulo inferior
auto.Msglabel.setText ('
Você clicou sim.
')
def Btn2_OnClicked (self):
# Defina o texto para o rótulo inferior
auto.Msglabel.setText ('
Você clicou não.
')
# Crie objeto de aplicativo e execute o aplicativo
app = qapplication (sys.argv)
Button = 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 sim'será exibido como o texto do rótulo.
Se o usuário clicar no Não Botão, a mensagem, 'Você clicou 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 cliques de botões usando funções de manipulador de eventos personalizadas.