PyQt5 – Botón de alternar

En PyQt5, un botón de alternar es básicamente el botón pulsador en un estado especial. El botón pulsador es un botón cuando lo presionamos para hacer alguna tarea y volver al estado normal. Es similar a la tecla del teclado cuando lo presionamos, hace algo y cuando lo soltamos, vuelve a su forma original.

ToggleButton es un tipo de botón pulsador, pero tiene dos estados, es decir, encendido y apagado cuando lo presionamos, no vuelve al estado original. El botón de palanca es similar a un interruptor de electricidad cuando lo presionamos, permanece encendido y cuando lo apagamos permanece en la posición de apagado.

Para crear un botón de alternar tenemos que hacer lo siguiente:

  1. Crea un pulsador.
  2. Establezca verificable en Verdadero, es decir, si se presiona, se verifica y si se presiona nuevamente, se desmarca de manera similar a la casilla de verificación.
  3. Establezca el método de llamada que recibe la llamada cuando se presiona el botón.
  4. En el método de llamada, verifique si el botón está marcado o no.
  5. Si el botón está marcado, cambie su color; de lo contrario, establezca el color predeterminado.

A continuación se muestra la implementación.

# importing the required libraries
  
from PyQt5.QtCore import * 
from PyQt5.QtGui import * 
from PyQt5.QtWidgets import * 
import sys
  
  
class Window(QMainWindow):
    def __init__(self):
        super().__init__()
  
        # set the title
        self.setWindowTitle("Python")
  
        # setting geometry
        self.setGeometry(100, 100, 600, 400)
  
        # creating a push button
        self.button = QPushButton("Toggle", self)
  
        # setting geometry of button
        self.button.setGeometry(200, 150, 100, 40)
  
        # setting checkable to true
        self.button.setCheckable(True)
  
        # setting calling method by button
        self.button.clicked.connect(self.changeColor)
  
        # setting default color of button to light-grey
        self.button.setStyleSheet("background-color : lightgrey")
  
        # show all the widgets
        self.update()
        self.show()
  
    # method called by button
    def changeColor(self):
  
        # if button is checked
        if self.button.isChecked():
  
            # setting background color to light-blue
            self.button.setStyleSheet("background-color : lightblue")
  
        # if it is unchecked
        else:
  
            # set background color back to light-grey
            self.button.setStyleSheet("background-color : lightgrey")
  
  
  
# create pyqt5 app
App = QApplication(sys.argv)
  
# create the instance of our Window
window = Window()
  
# start the app
sys.exit(App.exec())

Producción :

Publicación traducida automáticamente

Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *