为了账号安全,请及时绑定邮箱和手机立即绑定

pyobjc作为通过管道与主进程通信的子进程不起作用

pyobjc作为通过管道与主进程通信的子进程不起作用

长风秋雁 2021-03-19 16:15:05
我正在尝试从pyobjc gui(osx状态栏中的菜单)向我的应用程序的主进程发送信号。具体来说,我正在运行包装在类中的gui,并将其包装在进程中,并且试图通过管道将gui中的消息发送到主进程。当我使用一种简单的方法将数据放入管道时,我的代码起作用了。消息被传递到主进程,产生结果。main process... recv(): foo当我在子进程中启动gui并尝试将数据放入管道时,例如,当我单击菜单选项“启动”时,什么也没有发生。主流程行从未打印过,据我所知,主流程已被阻塞。我假设这与pyobjc中的事件循环有关。我该怎么做才能使这项工作?如何将pyobjc代码作为子进程运行?main.pyimport sysfrom multiprocessing import Process, Pipefrom userinterface import OSXstatusbaritemdef f2(pipe):    print "starting subprocess f2"    print pipe.send("foo")    pipe.close()
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 142 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号