想要用pyqt实现多次点击按钮才能触发事件
比如我想让一个按钮点击次数达到6次以上才能触发这个这个按钮的功能
请问该如何书写代码
# 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_())
加一个次数变量。
把原先的代码放到一个def 里
点击事件:
把次数加1 ,
如果次数达到6次,调用上面的代码, 次数归0