PyQt5-如何设置按钮的自动重复

2025-11-14 02:54:18

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_())

PyQt5-如何设置按钮的自动重复

2、为窗口添加一个按钮。

def setup_ui(self):


   btn=QPushButton(self)
   btn.move(10,250)
   btn.setText('Test-Btn')

1、为按钮设置重复功能,所用函数:btn.setAutoRepeat(True) ;

①参数是布尔型,控制是否开启重复。

②所谓的自动重复就是当按钮按下,没有松开时,会不断的向外界发送信号从而触发槽函数。

PyQt5-如何设置按钮的自动重复

2、为按钮添加信号槽,测试是否有用。

btn.clicked.connect(lambda :print('按下没松开'))

可以看到,按钮按下时,会不断重复槽函数的打印功能

PyQt5-如何设置按钮的自动重复

3、获取按钮是否处在自动重复状态;使用函数:autoRepeat();

①返回的是bool值,与上面的函数正好相反。

②例如;print(btn.autoRepeat())-->True

PyQt5-如何设置按钮的自动重复

1、为按钮设置重复延时;setAutoRepeatDelay(ms)

①参数是时间,单位是毫秒(1秒=1000毫秒)

②意思是,按钮按下时等待执行重复的时间。

③例如;btn.setAutoRepeatDelay(2000),按钮按下2秒后,开始重复。

PyQt5-如何设置按钮的自动重复

2、获取延时;autoRepeateDelay()

①返回按钮按下时重复功能开始的延时时间。

②例如;print(btn.autoRepeatDelay())-->2000

PyQt5-如何设置按钮的自动重复

1、设置按钮按下重复的间隔;setAutoRepeatInterval(ms)

①参数是重复的间隔时间,毫秒。

②例如;btn.setAutoRepeatInterval(500),每隔半秒执行一次打印。

PyQt5-如何设置按钮的自动重复

2、获取重复间隔;autoRepeatInterval();

①返回按钮的重复间隔。

②例如:print(btn.autoRepeatInterval())-->500

PyQt5-如何设置按钮的自动重复

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