PyQt5 – 切换按钮

PyQt5 – 切换按钮

在PyQt5中,切换按钮基本上就是一个特殊状态的按钮。按键是一个按钮,当我们按下它时,它做一些任务,然后回到正常状态,它类似于键盘上的按键,当我们按下它时,它做一些事情,当我们释放它时,它又回到原来的状态。

ToggleButton 是按钮的一种类型,但它有两种状态,即开和关,当我们按下它时,它不会回到原来的状态。切换按钮类似于电力开关,当我们按下它时,它保持开启状态,当我们关闭它时,它保持关闭状态。

为了创建切换按钮,我们必须做以下 工作。

  1. 创建一个按钮。
  2. 设置可检查性为True,即如果它被按下,就会被检查,如果它再次被按下,就会被取消检查,类似于复选框。
  3. 设置当按钮被按下时被调用的方法。
  4. 在调用方法中检查按钮是否被选中。
  5. 如果按钮被选中,就改变它的颜色,否则就给它设置默认颜色。

下面是实现方法。

# 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())

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程