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 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助