美文网首页
PyQt5按钮单击事件,退出程序

PyQt5按钮单击事件,退出程序

作者: 小虎同学_3300 | 来源:发表于2020-03-20 15:11 被阅读0次

    1.注意项:

    当使用QPushButton.clicked.connect(lambda:self.信号槽方法)。connect方法传参数时,需要加上“lambda:”

    2.步骤:

    • 添加一个按钮 self.button1 = QPushButton('按钮上的文本')。
    • 创建水平布局对象QHBoxLayout,并使用setWidget方法,将button1添加进去。
      layout = QHBoxLayout()
      layout.addWidget(self.button1)
    • 主框架Widget,所有组件的根。将所有组件添加到主框架中。
      mainFrame = QWidget()
      mainFrame.setLayout(layout)
    • 将主框架放在主窗口
      self.setCentralWidget(mainFrame)
    • 自定义槽:用来处理button的点击事件。onClick_Button()
      sender = self.sender() \获取哪一个组件是发送者
    • 将按钮的信号与槽关联在一起
      self.button1.clicked.connect(lambda: self.onClick_Button())
    import sys
    from PyQt5.QtWidgets import QHBoxLayout, QMainWindow, QApplication, QPushButton, QWidget
    
    
    class QuitApplication(QMainWindow):
        def __init__(self):
            super(QuitApplication, self).__init__()
            self.resize(300, 400)
            self.setWindowTitle('退出应用程序')
    
            # 添加button
            self.button1 = QPushButton('退出应用程序')
            self.button1.clicked.connect(lambda: self.onClick_Button())
    
            # 创建水平布局对象
            layout = QHBoxLayout()
            # 将组件添加到水平布局上
            layout.addWidget(self.button1)
    
            # 将所有部件都放在mainFrame上
            mainFrame = QWidget()
            # 将layout的内容放在mainFrame上
            mainFrame.setLayout(layout)
    
            # 将mainFrame放在主窗口上
            self.setCentralWidget(mainFrame)
    
        # 按钮单击事件(自定义的槽)
        def onClick_Button(self):
            # 通过sender(发件人)方法来获取哪一个组件是发送者
            sender = self.sender()
            print(sender.text() + ' 按钮被按下')
    
            # 得到一个实例
            app = QApplication.instance()
            # 退出应用程序
            app.quit()
    
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        main = QuitApplication()
        main.show()
        sys.exit(app.exec_())
    

    相关文章

      网友评论

          本文标题:PyQt5按钮单击事件,退出程序

          本文链接:https://www.haomeiwen.com/subject/zhujyhtx.html