python kivy ios_Kivy跨平台技术开发iOS
#kivy
Kivy是一套專門用于跨平臺快速應用開發的開源框架,使用Python和Cython編寫,對于多點觸控有著非常良好的支持,是一套專門用于跨平臺快速應用開發的開源框架,使用Python和Cython編寫,基于OpenGL ES 2只需一套代碼,即可運行于主流桌面和移動平臺之上,支持大部分原生輸入協議和設備,包括WM_Touch、WM_Pen、Mac OS X Trackpad和Magic Mouse、Mtdev、Linux Kernel HID、TUIO,此外,還包含一個多點觸控的鼠標模擬器。
#demofrom kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text='Hello World')
TestApp().run()
這樣就可以在Mac和ios以及安卓上運行
kivy demo
kivy 與iOS交互,新建一個demo.pyprint "Hello Kivy"
python demo.py
ios .m文件里面 調用
FILE * fp = fopen(Queuet.py", "r");
if (fp == NULL)
return 1;
PyRun_SimpleFile(fp, "demo.py");
iOS與python交互通過一個文件,或字符串的形式來做PyRun_String,PyRun_SimpleFile
這樣的方式對于編譯型語法的程序員來說很別扭,不過kivy主要開發是用python,
PyRun_SimpleFile估計是官方給的一個并不好的交互方式。
python調用iOS pyobjus,主要是調用iOS里面一些特有的類型,目前支持delegate回調方式from pyobjus import autoclass
from pyobjus.dylib_manager import load_framework, INCLUDE
load_framework(INCLUDE.AppKit)
NSAlert = autoclass('NSAlert')
NSString = autoclass('NSString')
ns = lambda x: NSString.alloc().initWithUTF8String_(x)
alert = NSAlert.alloc().init()
alert.setMessageText_(ns('Hello world from python!'))
alert.addButtonWithTitle_(NSString.stringWithUTF8String_("OK"))
alert.addButtonWithTitle_(NSString.stringWithUTF8String_("Cancel"))
alert.runModal()
python 對于網絡,數據庫,動畫,3d,邏輯實現是可以的,但是kivy的gui界面實在做得是差強人意,和xib相比可以用粗制濫造來形容,開發人員少,畢竟沒蘋果那么財雄勢大。這點還是可以理解的
lisview
UI可視化編輯器
編輯器
整體來說做邏輯可以考慮kivy,,另外就是kivy官方的更新速度不是很快。 編譯器的完善性有待項目檢驗,不過它的UI框架使用起來比iOS方便很多,獨有的kivy語法很神奇,寫界面很方便。但是界面確實不敢恭維。
期待kivy進一步完善。
總結
以上是生活随笔為你收集整理的python kivy ios_Kivy跨平台技术开发iOS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spss练习数据_读硕博,为你推荐5本最
- 下一篇: 电脑怎么测试硬盘的读写速度_两块硬盘合二