gpt4 book ai didi

python - 单发 : SLOT with arguments

转载 作者:太空宇宙 更新时间:2023-11-04 07:46:03 25 4
gpt4 key购买 nike

我有一个奇怪的问题。这是我的代码:

def method1(self, arg1, delay=True):
"""This is a method class"""

def recall(arg1):
self.method1(arg1, delay=False)
return

if delay:
print "A: ", arg1, type(arg1)
QtCore.QTimer.singleShot(1, self, QtCore.SLOT(recall(int)), arg1)
return

print "B: ", arg1, type(arg1)

所以我在控制台中得到了这个:

A:  0 <type 'int'>
B: <type 'int'> <type 'type'>

在“B”中你应该得到与在“A”中相同的结果。任何人都知道怎么了?我怎样才能得到 arg1 值而不是它的类型?这没有任何意义......

PS:我正在尝试这样的事情:http://lists.trolltech.com/qt-interest/2004-08/thread00659-0.html

最佳答案

传递给SLOT函数的参数必须是一个字符串类型作为参数,而不是直接调用,所以你不能将一个有参数的槽连接到一个没有任何参数的信号上。

您可以改用 lambda 函数:

QtCore.QTimer.singleShot(1, lambda : self.recall(arg1))

关于python - 单发 : SLOT with arguments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7489262/

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