在Scanner data (streaming)中,我可以找到以下语句(您可以在下面找到完整的代码):
scanData.updateEvent += onScanData
+=是什么意思?
因此,我知道onScanData()是在触发scanData.updateEvent时应该调用的事件处理函数。
但是为什么我这里有一个+=而不是一个简单的=呢?什么get是递增的,稍后在哪里可以找到递增的变量?
备注:为了让下面的代码片段运行,Interactive-Brokers软件TWS已经运行。
import datetime
from ib_insync import *
ib = IB()
ib.connect('127.0.0.1', 7497, clientId=1)
def onScanData(scanData):
print(scanData[0])
print(len(scanData))
sub = ScannerSubscription(
instrument='FUT.US',
locationCode='FUT.GLOBEX',
scanCode='TOP_PERC_GAIN')
scanData = ib.reqScannerSubscription(sub)
scanData.updateEvent += onScanData
ib.sleep(60)
ib.cancelScannerSubscription(scanData)发布于 2021-09-24 14:06:29
reqScannerSubscription返回ScanDataList的一个实例。它的updateEvent属性是eventkit.Event的一个实例。它将其__iadd__方法重载为connect的别名,该别名将侦听器连接到此事件。
https://stackoverflow.com/questions/69316251
复制相似问题