qq_29217127 2022-01-05 15:16 采纳率: 70%
浏览 174
已结题

请问pyqt如何实现多次点击按钮才能触发事件

想要用pyqt实现多次点击按钮才能触发事件
比如我想让一个按钮点击次数达到6次以上才能触发这个这个按钮的功能
请问该如何书写代码

  • 写回答

2条回答 默认 最新

  • 陈年椰子 2022-01-05 21:37
    关注
    
    # encoding: utf-8
    """
    
    @contact: hndm@qq.com
    
    
    说明
    """
    from PyQt5.QtWidgets import QMainWindow, QHBoxLayout, QPushButton, QApplication, QWidget
    import sys
    
    
    class WinForm(QMainWindow):
        def __init__(self, parent=None):
            super(WinForm, self).__init__(parent)
            self.btn_click_times = 0
            self.resize(330, 100)
            self.setWindowTitle('关闭主窗口例子')
            self.button1 = QPushButton('关闭主窗口')
            self.button1.clicked.connect(self.onButtonClick)
    
            layout = QHBoxLayout()
            layout.addWidget(self.button1)
    
            main_frame = QWidget()
            main_frame.setLayout(layout)
            self.setCentralWidget(main_frame)
    
        def close_func(self):
            qApp = QApplication.instance()
            qApp.quit()
        def onButtonClick(self):
            # sender 是发送信号的对象,此处发送信号的对象是button1按钮
            sender = self.sender()
            print(sender.text() + ' 想关闭?按下{}次'.format(self.btn_click_times))
            self.btn_click_times = self.btn_click_times + 1
            if self.btn_click_times >=5:
                self.close_func()
                self.btn_click_times = 0
    
    
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        form = WinForm()
        form.show()
        sys.exit(app.exec_())
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月17日
  • 已采纳回答 1月9日
  • 创建了问题 1月5日

悬赏问题

  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制