PyQt5-如何设置按钮的自动重复
1、创建一个顶层窗口,设置初始值。
from PyQt5.Qt import *
import sys
class MyTest(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('按钮重复功能')
self.resize(400,300)
self.setup_ui()
def setup_ui(self):
pass
app=QApplication(sys.argv)
test=MyTest()
test.show()
sys.exit(app.exec_())

2、为窗口添加一个按钮。
def setup_ui(self):
btn=QPushButton(self)
btn.move(10,250)
btn.setText('Test-Btn')
1、为按钮设置重复功能,所用函数:btn.setAutoRepeat(True) ;
①参数是布尔型,控制是否开启重复。
②所谓的自动重复就是当按钮按下,没有松开时,会不断的向外界发送信号从而触发槽函数。

2、为按钮添加信号槽,测试是否有用。
btn.clicked.connect(lambda :print('按下没松开'))
可以看到,按钮按下时,会不断重复槽函数的打印功能

3、获取按钮是否处在自动重复状态;使用函数:autoRepeat();
①返回的是bool值,与上面的函数正好相反。
②例如;print(btn.autoRepeat())-->True

1、为按钮设置重复延时;setAutoRepeatDelay(ms)
①参数是时间,单位是毫秒(1秒=1000毫秒)
②意思是,按钮按下时等待执行重复的时间。
③例如;btn.setAutoRepeatDelay(2000),按钮按下2秒后,开始重复。

2、获取延时;autoRepeateDelay()
①返回按钮按下时重复功能开始的延时时间。
②例如;print(btn.autoRepeatDelay())-->2000

1、设置按钮按下重复的间隔;setAutoRepeatInterval(ms)
①参数是重复的间隔时间,毫秒。
②例如;btn.setAutoRepeatInterval(500),每隔半秒执行一次打印。

2、获取重复间隔;autoRepeatInterval();
①返回按钮的重复间隔。
②例如:print(btn.autoRepeatInterval())-->500

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:185
阅读量:34
阅读量:36
阅读量:94
阅读量:151