gpt4 book ai didi

python - 将参数传递给 QTimer 超时信号?

转载 作者:太空宇宙 更新时间:2023-11-04 01:32:09 26 4
gpt4 key购买 nike

我正在使用 Python 和 PySide(PyQt 的替代品)。我有一个在后台运行的应用程序,我想使用 QTimer 来安排一些要执行的任务。

但是,我需要 QTimer 来调用我程序中的一个方法,但是这个方法需要“初始化参数”来指定方法应该做什么。

我是否正确地认为我需要继承 QTimer 并覆盖 timeoutstart 方法?如果是这样,那么我将如何处理哪一个?我几乎没有覆盖现有方法的经验,谷歌搜索也没有找到很多结果(有一些我不理解的 C++)。我已经设法做了一些事情(例如我覆盖了 start() 方法,但是原始 start 方法的代码没有执行(可以理解)而且我不知道该代码应该是什么是。

或者有其他方法吗?

最佳答案

However, I need the QTimer to call one method in my program, but this method requires the "initialization parameters" that will specify what exactly is method supposed to do.

初始化参数是否改变?我可能会做一些涉及 functools.partial 的事情绑定(bind)一些参数,所以如果你有这个

import functools
from PySide.QtCore import QTimer

def onTimer(initParams):
# use initParams
# your code here...

myInitParams = "Init!"
timerCallback = functools.partial(onTimer, initParams=myInitParams)
myTimer = QTimer()
myTimer.timeout.connect(timerCallback)
myTimer.start( 1000) #once a sec

#Your QApplication goes below...

如果您想根据应用程序的某些当前状况提供不同 init 参数,您最好根据特定项目的更改时间使用自定义信号/插槽。或者保持任何“当前”状态是我在其他地方修改 initParams。

关于python - 将参数传递给 QTimer 超时信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13202014/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com