PyQt5 Tutorial - Botão de pressão
-
Botão Push Button PyQt5 -
QPushButton
-
PyQt5
QLabel
Estilo de Conjunto de Widgets de Rótulo -
PyQt5
QLabel
Evento de Clique de Rótulo
Push button widget QPushButton
é um botão de comando em PyQt5. Ele é clicado pelo usuário para comandar o PC para executar alguma ação específica, como Apply
, Cancel
e Save
.
Botão Push Button PyQt5 - QPushButton
import sys
from PyQt5 import QtWidgets
def basicWindow():
app = QtWidgets.QApplication(sys.argv)
windowExample = QtWidgets.QWidget()
buttonA = QtWidgets.QPushButton(windowExample)
labelA = QtWidgets.QLabel(windowExample)
buttonA.setText("Click!")
labelA.setText("Show Label")
windowExample.setWindowTitle("Push Button Example")
buttonA.move(100, 50)
labelA.move(110, 100)
windowExample.setGeometry(100, 100, 300, 200)
windowExample.show()
sys.exit(app.exec_())
basicWindow()
Onde,
buttonA = QtWidgets.QPushButton(windowExample)
O buttonA
é o QPushButton
de QtWidgets
e deve ser adicionado à janela windowExample
o mesmo que etiquetas introduzidas nos últimos capítulos.
buttonA.setText("Click!")
Ele define o texto de buttonA
para ser Click!
.
Na verdade, não vai fazer nada.
PyQt5 QLabel
Estilo de Conjunto de Widgets de Rótulo
O estilo do widget PyQt5 QLabel
como cor de fundo, família de fontes e tamanho da fonte poderia ser definido com o método setStyleSheet
. Funciona como a folha de estilo em CSS.
buttonA.setStyleSheet(
"background-color: red;font-size:18px;font-family:Times New Roman;"
)
Ele define o buttonA
com os seguintes estilos,
Estilo | Valor |
---|---|
background-color |
red |
font-size |
18px |
font-family |
Times New Roman |
É conveniente definir os estilos em PyQt5 porque é semelhante ao CSS.
import sys
from PyQt5 import QtWidgets
def basicWindow():
app = QtWidgets.QApplication(sys.argv)
windowExample = QtWidgets.QWidget()
buttonA = QtWidgets.QPushButton(windowExample)
labelA = QtWidgets.QLabel(windowExample)
buttonA.setStyleSheet(
"background-color: red;font-size:18px;font-family:Times New Roman;"
)
buttonA.setText("Click!")
labelA.setText("Show Label")
windowExample.setWindowTitle("Push Button Example")
buttonA.move(100, 50)
labelA.move(110, 100)
windowExample.setGeometry(100, 100, 300, 200)
windowExample.show()
sys.exit(app.exec_())
basicWindow()
PyQt5 QLabel
Evento de Clique de Rótulo
O evento de clique do botão está conectado a alguma função específica com o método QLabel.clicked.connect(func)
.
import sys
from PyQt5 import QtWidgets
class Test(QtWidgets.QMainWindow):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
self.buttonA = QtWidgets.QPushButton("Click!", self)
self.buttonA.clicked.connect(self.clickCallback)
self.buttonA.move(100, 50)
self.labelA = QtWidgets.QLabel(self)
self.labelA.move(110, 100)
self.setGeometry(100, 100, 300, 200)
def clickCallback(self):
self.labelA.setText("Button is clicked")
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
test = Test()
test.show()
sys.exit(app.exec_())
Quando o QPushButton
buttonA
é clicado, ele aciona a função clickCallback
para definir o texto da etiqueta como sendo Button is clicked
.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook