PyQt QPushButton

Resumo : neste tutorial, você aprenderá como usar o QPushButtonwidget PyQt para criar um botão.

Introdução ao widget PyQt QPushButton

A classe PyQt QPushButtonpermite criar um widget de botão, que pode ser um botão de ação ou de alternância.

Para criar um botão, siga estas etapas:

Primeiro, importe QPushButtondo PyQt6.QtWidgetsmódulo:

from PyQt6.QtWidgets import QPushButtonLinguagem de código:  Parser3  ( parser3 )

Segundo, chame o QPushButton()com um texto que aparece no botão:

button = QPushButton('Click Me')Linguagem de código:  Python  ( python )

Terceiro, conecte o clickedsinal a uma chamada:

button.clicked.connect(self.on_clicked)Linguagem de código:  Python  ( python )

O on_clickedé um método que é executado quando o botão é clicado.

O seguinte mostra o programa completo que exibe um botão em uma janela:

import sys
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout


class MainWindow(QWidget):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.setWindowTitle('PyQt QPushButton Widget')
        self.setGeometry(100, 100, 320, 210)

        button = QPushButton('Click Me')

        # place the widget on the window
        layout = QVBoxLayout()
        layout.addWidget(button)
        self.setLayout(layout)

        # show the window
        self.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)

    # create the main window
    window = MainWindow()

    # start the event loop
    sys.exit(app.exec())Linguagem de código:  Python  ( python )

Saída:

Criando um botão com um ícone

Para criar um botão com um ícone, siga as seguintes etapas:

Primeiro, importe QIcondo PyQt6.QtGuimódulo:

from PyQt6.QtGui import QIconLinguagem de código:  Python  ( python )

Segundo, crie um QPushButtonobjeto:

button = QPushButton('Delete')Linguagem de código:  Python  ( python )

Terceiro, adicione o ícone do botão chamando o setIcon()método do QPushButtoncom o QIconobjeto:

button.setIcon(QIcon('trash.png'))Linguagem de código:  Python  ( python )

Observe que o QIconobjeto aceita um caminho para o arquivo de ícone. Para mostrar o trash.pngícone, você pode baixá-lo aqui:

Para deixar o botão mais bonito, você pode definir seu tamanho chamando o setFixedSize()método.

O tamanho é determinado pelo QSizeobjeto com dois argumentos largura e altura. Observe que você precisa importar QSizea classe do PyQt6.QtCoremódulo.

O programa a seguir mostra como exibir um botão com um ícone:

import sys
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout
from PyQt6.QtCore import QSize
from PyQt6.QtGui import QIcon


class MainWindow(QWidget):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.setWindowTitle('PyQt QPushButton Widget')
        self.setGeometry(100, 100, 320, 210)

        button = QPushButton('Delete')
        button.setIcon(QIcon('trash.png'))

        button.setFixedSize(QSize(100, 30))

        # place the widget on the window
        layout = QVBoxLayout()
        layout.addWidget(button)
        self.setLayout(layout)

        # show the window
        self.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)

    # create the main window
    window = MainWindow()

    # start the event loop
    sys.exit(app.exec())Linguagem de código:  Python  ( python )

Saída:

Criando um botão de alternância

A QPushButtonclasse possui a checkablepropriedade que permite usar o botão como botão de alternância.

Um botão de alternância tem um estado ligado/desligado. Se o botão estiver ativado, o botão marcado é verdadeiro. Caso contrário, é falso.

Para um botão de alternância, o clickedsinal envia o status do botão, ativado ou desativado.

O programa a seguir exibe uma janela que possui um botão de alternância:

import sys
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout


class MainWindow(QWidget):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.setWindowTitle('PyQt QPushButton Widget')
        self.setGeometry(100, 100, 320, 210)

        button = QPushButton('Toggle Me')
        button.setCheckable(True)
        button.clicked.connect(self.on_toggle)

        # place the button on the window
        layout = QVBoxLayout()
        layout.addWidget(button)
        self.setLayout(layout)

        # show the window
        self.show()

    def on_toggle(self, checked):
        print(checked)


if __name__ == '__main__':
    app = QApplication(sys.argv)

    # create the main window
    window = MainWindow()

    # start the event loop
    sys.exit(app.exec())Linguagem de código:  Python  ( python )

Resumo

  • Use o widget PyQt QPushButtonpara criar um botão ou botão de alternância.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *