python C 没有Xcode的PyObjC教程
发布时间:2023-12-17 06:04:49 所属栏目:Python 来源:DaWei
导读: 我正在编写一个小型的跨平台wx
Python应用程序,但是在每个平台上我都需要使用一些特定于平台的API.在Mac OS上,可以使用PyObjC完成.
我正在寻找有关如何使用PyObjC的教程.但是,到目前
Python应用程序,但是在每个平台上我都需要使用一些特定于平台的API.在Mac OS上,可以使用PyObjC完成.
我正在寻找有关如何使用PyObjC的教程.但是,到目前
我正在编写一个小型的跨平台wx Python应用程序,但是在每个平台上我都需要使用一些特定于平台的API.在Mac OS上,可以使用PyObjC完成. 我正在寻找有关如何使用PyObjC的教程.但是,到目前为止我发现的只是Xcode的教程.我希望我的应用程序能够在mac / win / lin上运行,无需更改,我不想在Xcode中开发它.有办法吗? UPD.更具体地说,我需要从Mac OS X访问一些笔平板电脑事件,我想使用PyObjC(我没有看到任何其他方式). 解决方法 您可以导入Foundation和AppKit模块,然后继承NSApplication.但是,如果你的pyobjc代码不是代码的入口点,那么这可能不是你想要的.可以提供更多关于你想用pyobjc做什么的细节?这是一个使用pyobjc制作简单状态栏应用程序的快速示例,而不使用xcode: import objc from Foundation import * from AppKit import * from PyObjCTools import AppHelper class MyApp(NSApplication): def finishLaunching(self): # Make statusbar item statusbar = NSStatusBar.systemStatusBar() self.statusitem = statusbar.statusItemWithLength_(NSVariableStatusItemLength) self.icon = NSImage.alloc().initByReferencingFile_('icon.png') self.icon.setScalesWhenResized_(True) self.icon.setSize_((20,20)) self.statusitem.setImage_(self.icon) #make the menu self.menubarMenu = NSMenu.alloc().init() self.menuItem = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_('Click Me','clicked:','') self.menubarMenu.addItem_(self.menuItem) self.quit = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_('Quit','terminate:','') self.menubarMenu.addItem_(self.quit) #add menu to statusitem self.statusitem.setMenu_(self.menubarMenu) self.statusitem.setToolTip_('My App') def clicked_(self,notification): NSLog('clicked!') if __name__ == "__main__": app = MyApp.sharedApplication() AppHelper.runEventLoop()然后,您可以使用py2app使其可分发: from distutils.core import setup import py2app NAME = 'myapp' SCRIPT = 'myapp.py' VERSION = '0.1' ID = 'myapp' plist = dict( CFBundleName = NAME,CFBundleShortVersionString = ' '.join([NAME,VERSION]),CFBundleGetInfoString = NAME,CFBundleExecutable = NAME,CFBundleIdentifier = 'com.yourdn.%s' % ID,LSUIElement = '1',#makes it not appear in cmd-tab task list etc. ) app_data = dict(script=SCRIPT,plist=plist) setup( app = [app_data],options = { 'py2app':{ 'resources':[ ],'excludes':[ ] } } )(编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- python – 用于Django项目/应用程序的RESTful API
- python – 如何为Xerox打印机创建动态作业单?
- python optparse,可选选项的默认值
- python – pip install hyperopt和hyperas失败
- 在IPython中使用Interactive Shell之外的魔术命令
- 如何在Django中断言已经从数据库中填充了模型字段?
- django – 在Bootstrap中激活点击的选项卡
- python – 如何以有效的方式找到两个轮廓集之间的所有交点
- python – 在SQLAlchemy中动态设置__tablename__来分片?
- gettext – Flask-Babel如何在Jinja模板文件中使用翻译
推荐文章
站长推荐