kivy时钟:不执行callb的时钟

2024-05-16 09:23:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试安排我的服务应用程序向我的主应用程序发送消息。这两种代码都能发送和接收消息。但是,当我尝试使用时钟时间表间隔要执行一个函数,它将无法执行。我意识到回调是弱引用的,我引用了原始回调,就像kivy引用站点建议的那样。在

我知道这一点osc.sendMsg公司因为当我定义一个函数osc.sendMsg公司,它成功地将消息发送给我的另一个主.py当我调用那个函数时。但是,当我把自我回答短信在时钟时间表间隔,出现问题,它不发送消息。我希望这个代码每秒钟都能发送信息。在

我用了pdb当我把应答器。应答器信息()在message_callback下,它调用osc.py公司并将信息发送到我的另一个代码。当我把回答时间()但是,在message_callback下,它创建了一个时钟事件,但它不调用answer\u message。非常感谢任何帮助。在

这是我的服务/主.py公司名称:

import time
from kivy.lib import osc
from kivy.clock import Clock


serviceport = 3000
activityport = 3001


def message_callback(message, *args):
    print("got a message! %s" % message)
    #global switch
    #switch = message[2]
    answer = function()
    answer.time()


class function(object):
    def answer_message(self,dt):
            osc.sendMsg('~/kivyinstall/sahil/reply/step3_active', [time.asctime(time.localtime()), ], port=activityport)
    def time(self):
            Clock.schedule_interval(self.answer_message, 1)


 if __name__ == '__main__':
    osc.init()
    oscid = osc.listen(ipAddr='127.0.0.1', port=serviceport)
    osc.bind(oscid, message_callback, '~/kivyinstall/sahil/reply/step3_active/service')

    while True:
            osc.readQueue(oscid)

Tags: 函数代码answerpyimport消息messagetime