PyQt5 Tutorial - CheckBox
Neste tutorial nós vamos aprender QCheckBox
em PyQt5. A QCheckBox
é um botão de opção que pode ser marcado ou desmarcado. O usuário pode marcar múltiplas opções a partir do grupo de caixas de seleção.
Exemplo CheckBox
import sys
from PyQt5.QtWidgets import QWidget, QLabel, QHBoxLayout, QCheckBox, QApplication
class basicWindow(QWidget):
def __init__(self):
super().__init__()
layout = QHBoxLayout()
self.setLayout(layout)
self.checkBoxA = QCheckBox("Select This.")
self.labelA = QLabel("Not slected.")
layout.addWidget(self.checkBoxA)
layout.addWidget(self.labelA)
self.setGeometry(200, 200, 300, 200)
self.setWindowTitle("CheckBox Example")
if __name__ == "__main__":
app = QApplication(sys.argv)
windowExample = basicWindow()
windowExample.show()
sys.exit(app.exec_())
Onde,
self.checkBoxA = QCheckBox("Select This.")
O self.checkBoxA
é uma instância do widget QCheckBox
em PyQt5. O texto dado - Select This.
será exibido ao lado do quadrado oco CheckBox
.
Evento CheckBox
Basicamente um usuário deve marcar ou desmarcar a caixa de seleção, então a ação deve ser executada com base no sinal de mudança de estado.
import sys
from PyQt5.QtWidgets import QWidget, QLabel, QHBoxLayout, QCheckBox, QApplication
from PyQt5 import QtCore
class basicWindow(QWidget):
def __init__(self):
super().__init__()
layout = QHBoxLayout()
self.setLayout(layout)
self.checkBoxA = QCheckBox("Select This.")
self.labelA = QLabel("Not slected.")
self.checkBoxA.stateChanged.connect(self.checkBoxChangedAction)
layout.addWidget(self.checkBoxA)
layout.addWidget(self.labelA)
self.setGeometry(200, 200, 300, 200)
self.setWindowTitle("CheckBox Example")
def checkBoxChangedAction(self, state):
if QtCore.Qt.Checked == state:
self.labelA.setText("Selected.")
else:
self.labelA.setText("Not Selected.")
if __name__ == "__main__":
app = QApplication(sys.argv)
windowExample = basicWindow()
windowExample.show()
sys.exit(app.exec_())
self.checkBoxA.stateChanged.connect(self.checkBoxChangedAction)
Nós conectamos o método de slot checkBoxChangeAction()
ao sinal CheckBox stateChanged
. Toda vez que o usuário marcar ou desmarcar a caixa de verificação, ela irá chamar checkBoxChangeAction()
.
def checkBoxChangedAction(self, state):
if QtCore.Qt.Checked == state:
self.labelA.setText("Selected.")
else:
self.labelA.setText("Not Selected.")
O argumento state
é o estado da CheckBox
passado e o texto labelA
mudará para Selected.
se a CheckBox
estiver marcada, ou para Not Selected.
se estiver desmarcada.
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