Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在pyobj中生成线程
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在学习如何使用pyobjc进行一些基本的原型设计。现在我有了一个主UI设置和一个运行主应用程序的python脚本。唯一的问题是当脚本运行时,脚本在主线程上运行,从而阻塞了UI。在</p> <p>这是我在python中尝试使用线程导入的示例代码片段:</p> <pre><code>def someFunc(self): i = 0 while i < 20: NSLog(u"Hello I am in someFunc") i = i + 1 @objc.IBAction def buttonPress(self, sender): thread = threading.Thread(target=self.threadedFunc) thread.start() def threadedFunc(self): NSLog(u"Entered threadedFunc") self.t = NSTimer.NSTimer.scheduledTimerWithTimeInterval_target_selector_userInfo_repeats_(1/150., self,self.someFunc,None, True) NSLog(u"Kicked off Runloop") NSRunLoop.currentRunLoop().addTimer_forMode_(self.t,NSDefaultRunLoopMode) </code></pre> <p>单击按钮时,<code>threadedFunc</code>中的NSLogs将输出到控制台,但它从不输入<code>someFunc</code></p> <p>所以我决定用nshread启动一个线程。在苹果的文档中,Objective-C调用如下所示:</p> ^{pr2}$ <p>因此,我将其转换为pyobjc规则,用于调用objective-c函数:</p> <p><code>detachNewThreadSelector_aSelector_aTarget_anArgument_(self.threadedFunc, self, 1)</code></p> <p>因此,在上下文中,IBAction函数如下所示:</p> <pre><code>@objc.IBAction def buttonPress(self, sender): detachNewThreadSelector_aSelector_aTarget_anArgument_(self.threadedFunc, self, 1) </code></pre> <p>但是当按钮被按下时,我得到一条消息:全局名“detachNewThreadSelector”没有定义。在</p> <p>我也尝试过使用grandcentraldispatch进行类似的尝试,但是相同的消息不断出现,即global name<code>some_grand_central_function</code>没有被定义</p> <p>很明显,我不理解python线程的细微差别,或者pyobjc调用约定,我想知道是否有人能对如何继续进行有所帮助。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>翻译后的函数名应为</p> <pre><code>detachNewThreadSelector_toTarget_withObject_(aSelector, aTarget, anArgument) </code></pre> <p>您当前正在将转换规则应用于arguments部分,而不是Objective-C调用部分。使用示例中的参数调用函数:</p> ^{pr2}$
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
当启用身份验证时,超过一定大小的http发布失败
2 回答
当呈现Flask温度时,bokeh图为空
3 回答
当呈现模板时,如何引用sqlalchemy中的自定义字段?
2 回答
当周围有更多相同类型的标记时,如何从一个标记中提取数据
3 回答
当周数跨越多个y时,如何使用Pandas groupby week
1 回答
当呼唤django和python提示时
5 回答
当命令`Brew installPython@2`然后出现错误“Theme error”。如何解决?
6 回答
当命令[1]不存在时,用户输入命令以列出超出范围的索引
4 回答
当命令/启动被发送到bot时,bot应该删除发送给组的标签;但是bot没有
10 回答
当命令lin执行时,导入datetime会在Python脚本中引发ModuleNotFound“math”
6 回答
当命令中提到Bot时,Bot发送其前缀
1 回答
当命令位于DM中时,Python Discord.py bot将角色分配给服务器中的用户
2 回答
当命令在discord.py中缺少必需的参数时,如何显示消息
8 回答
当命令在多个不同的服务器上处于活动状态时,如何在discord.py上使用while循环
3 回答
当命令在提示符下成功运行时,Python subprocess.check_输出产生错误
10 回答
当命令提示时自动按键按回车键
6 回答
当命令提示符意外关闭时,如何访问python虚拟环境?
10 回答
当命令提示符给出导入错误时,当我尝试运行服务器python文件时,需要进行什么更改?
8 回答
当命令有双引号时,如何从python运行windows命令行命令
9 回答
当命令的一部分来自用户inpu时在linux服务器上执行命令的安全方法
1 回答