在PyObjC中实现openFile的NSApplication委托协议

2024-09-28 01:25:19 发布

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

我想用Python(pyobjc)来做这个

-(BOOL) application: (NSApplication*)sharedApplication openFile:(NSString*) fileName {
...
}

我的委托是这样一个Python类:

^{pr2}$

如何在PyObjC中为openFile实现NSApplication委托协议?在


Tags: 协议applicationpyobjcfilenamebool委托pr2openfile
1条回答
网友
1楼 · 发布于 2024-09-28 01:25:19

Objective-C方法名为“ap应用程序:openFile:“,包括冒号。PyObjC translates ObjC names by replacing colons with underscores。因此,您需要的方法名是“application_openFile_u”:

class ApplicationDelegate (NSObject):
    def application_openFile_(self, application, fileName):
        pass

因为NSApplicationDelegate是一个“非正式协议”,方法是可选的there's no need in Python to declare your conformance。如果有的话,协议将在Python端用mixin样式的类表示,您的类定义如下所示:

^{pr2}$

相关问题 更多 >

    热门问题