PyQt5 pushbutton 学习

''' pushbutton继承自QAbstractButton,但启动AutoRepeat之后,会按照一定周期自动发出pressed、released、
clicked这3个信号,很多时候需要按住按钮来重复执行一个功能,松开按钮就停止执行,就可以通过如下代码实现 '''
# 设置自动重复执行功能和间隔时间
self.btn_turnright.setAutoRepeat(True)	
self.btn_turnright.setAutoRepeatDelay(300)	
self.btn_turnright.setAutoRepeatInterval(100)
# 连接槽函数
self.btn_turnright.pressed.connect(self.send_turn_right)
self.btn_turnright.released.connect(self.send_turn_stop)
# 定义按下时的槽函数,实现具体功能
def send_turn_right(self):
	tx_data_right = bytearray([0xff, 0x01, 0x00, 0x02, 0x3f, 0x00, 0x42])
	self.com.write(tx_data_right)
''' 定义松开时的槽函数,因为我只需要在按下时向mcu不停的发向右指令,在松开时只发一次停止指令,这里一定要判断
一下isDown,不然下面的2条语句在鼠标保持按下时也会被不断执行,加了之后只有在鼠标松开时才会执行一次 '''
def send_turn_stop(self):
	if not self.btn_turnleft.isDown():
		tx_data_stop = bytearray([0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01])
		self.com.write(tx_data_stop)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值