python跨平臺(tái)app開發(fā)框架(python的特性跨平臺(tái))
本篇文章給大家談?wù)刾ython跨平臺(tái)app開發(fā)框架,以及python的特性跨平臺(tái)對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。
八款常用的 Python GUI 開發(fā)框架推薦
作為Python開發(fā)者,你遲早都會(huì)用到圖形用戶界面來開發(fā)應(yīng)用。本文將推薦一些 Python GUI 框架,希望對(duì)大家有所幫助。
Python 的 UI 開發(fā)工具包 Kivy
Kivy是一個(gè)開源工具包能夠讓使用相同源代碼創(chuàng)建的程序能跨平臺(tái)運(yùn)行。它主要關(guān)注創(chuàng)新型用戶界面開發(fā),如:多點(diǎn)觸摸應(yīng)用程序。Kivy還提供一個(gè)多點(diǎn)觸摸鼠標(biāo)模擬器。當(dāng)前支持的平臺(tái)包括:Linux、Windows、Mac OS X和Android。
Kivy擁有能夠處理動(dòng)畫、緩存、手勢(shì)、繪圖等功能。它還內(nèi)置許多用戶界面控件如:按紐、攝影機(jī)、表格、Slider和樹形控件等。
Python 的 GUI 開發(fā)工具 Flexx
Flexx 是一個(gè)純 Python 工具包,用來創(chuàng)建圖形化界面應(yīng)用程序。其使用 Web 技術(shù)進(jìn)行界面的渲染。你可以用 Flexx 來創(chuàng)建桌面應(yīng)用,同時(shí)也可以導(dǎo)出一個(gè)應(yīng)用到獨(dú)立的 HTML 文檔。因?yàn)槭褂眉?Python 開發(fā),所以 Flexx 是跨平臺(tái)的。只需要有 Python 和瀏覽器就可以運(yùn)行。如果是使用桌面模式運(yùn)行,推薦使用 Firefox 。
Qt 庫的 Python 綁定 PyQt
PyQt是Qt庫的Python版本。PyQt3支持Qt1到Qt3。 PyQt4支持Qt4。它的首次發(fā)布也是在1998年,但是當(dāng)時(shí)它叫 PyKDE,因?yàn)殚_始的時(shí)候SIP和PyQt沒有分開。PyQt是用SIP寫的。PyQt 提供 GPL版和商業(yè)版。
Python圖形開發(fā)包 wxPython
wxPython 是 Python 語言的一套優(yōu)秀的 GUI 圖形庫,允許 Python 程序員很方便的創(chuàng)建完整的、功能鍵全的 GUI 用戶界面。 wxPython 是作為優(yōu)秀的跨平臺(tái) GUI 庫 wxWidgets 的 Python 封裝和 Python 模塊的方式提供給用戶的。
就如同Python和wxWidgets一樣,wxPython也是一款開源軟件,并且具有非常優(yōu)秀的跨平臺(tái)能力,能夠運(yùn)行在32位windows、絕大多數(shù)的Unix或類Unix系統(tǒng)、Macintosh OS X上。
Tk 圖形用戶界面 Tkinter
Tkinter(也叫Tk接口)是Tk圖形用戶界面工具包標(biāo)準(zhǔn)的Python接口。Tk是一個(gè)輕量級(jí)的跨平臺(tái)圖形用戶界面(GUI)開發(fā)工具。Tk和Tkinter可以運(yùn)行在大多數(shù)的Unix平臺(tái)、Windows、和Macintosh系統(tǒng)。
Tkinter 由一定數(shù)量的模塊組成。Tkinter位于一個(gè)名為_tkinter(較早的版本名為tkinter)的二進(jìn)制模塊中 。Tkinter包含了對(duì)Tk的低 級(jí)接口模塊,低級(jí)接口并不會(huì)被應(yīng)用級(jí)程序員直接使用,通常是一個(gè)共享庫(或DLL),但是在一些情況下它也被Python解釋器靜態(tài)鏈接。
Pywin32
Windows Pywin32允許你像VC一樣的形式來使用PYTHON開發(fā)win32應(yīng)用。代碼風(fēng)格可以類似win32 sdk,也可以類似MFC,由你選擇。如果你仍不放棄vc一樣的代碼過程在python下,那么這就是一個(gè)不錯(cuò)的選擇。
Python 圖形界面開發(fā)包 PyGTK
PyGTK讓你用Python輕松創(chuàng)建具有圖形用戶界面的程序.底層的GTK+提供了各式的可視元素和功能,如果需要,你能開發(fā)在GNOME桌面系統(tǒng)運(yùn)行的功能完整的軟件.
PyGTK真正具有跨平臺(tái)性,它能不加修改地,穩(wěn)定運(yùn)行各種操作系統(tǒng)之上,如Linux,Windows,MacOS等.除了簡單易用和快速的原型開發(fā)能力外,PyGTK還有一流的處理本地化語言的獨(dú)特功能.
用python快速開發(fā)絢麗桌面程序 pyui4win
pyui4win是一個(gè)開源的采用自繪技術(shù)的界面庫。支持C++和python。用它可以很容易實(shí)現(xiàn)QQ和360安全衛(wèi)士這樣的絢麗界面。而且,pyui4win有所見即所得界面設(shè)計(jì)器,讓C++開發(fā)人員和python開發(fā)人員直接用設(shè)計(jì)工具設(shè)計(jì)界面,而不用關(guān)心界面如何生成和運(yùn)行,可以顯著縮短界面開發(fā)時(shí)間。在pyui4win中,界面甚至可以完全交給美工去處理,開發(fā)人員可以只負(fù)責(zé)處理業(yè)務(wù)邏輯,把開發(fā)人員徹底從繁雜的界面處理中解放出來。
以上就是為大家分享的八款常用的python GUI開發(fā)框架推薦,希望能對(duì)你有幫助。更多python學(xué)習(xí)資料,可以關(guān)注“武漢千鋒”微信公眾號(hào)。
python開發(fā)安卓app可行嗎
用Python寫安卓APP肯定不是最好的選擇,但是肯定是一個(gè)很偷懶的選擇。我們使用kivy開發(fā)安卓APP,Kivy是一套專門用于跨平臺(tái)快速應(yīng)用開發(fā)的開源框架,使用Python和Cython編寫,對(duì)于多點(diǎn)觸控有著非常良好的支持,不僅能讓開發(fā)者快速完成簡潔的交互原型設(shè)計(jì),還支持代碼重用和部署,絕對(duì)是一款頗讓人驚艷的NUI框架。 (推薦學(xué)習(xí):Python視頻教程)
因?yàn)榭缙脚_(tái)的,所以只寫一遍代碼,就可以同時(shí)生成安卓及IOS的APP,很酷吧。
新建一個(gè).py文件
運(yùn)行:
然后會(huì)彈出一個(gè)框,大概如下,點(diǎn)擊”hello,kivy”會(huì)變顏色
以上就是小編分享的關(guān)于python開發(fā)安卓app可行嗎的詳細(xì)內(nèi)容希望對(duì)大家有所幫助,更多有關(guān)python教程請(qǐng)關(guān)注環(huán)球青藤其它相關(guān)文章!
郁悶于Python GUI開發(fā),有沒有好的框架
1、Kivy
Kivy是一個(gè)開源工具包能夠讓使用相同源代碼創(chuàng)建的程序能跨平臺(tái)運(yùn)行。它主要關(guān)注創(chuàng)新型用戶界面開發(fā),如:多點(diǎn)觸應(yīng)用程序。Kivy還提供了一個(gè)多點(diǎn)觸摸鼠標(biāo)模擬器。當(dāng)前支持的平臺(tái)包括:Linux、windows、Mac OS X和Android。
Kviy擁有能夠處理動(dòng)畫、緩存、手勢(shì)、繪圖等功能。它還內(nèi)置許多用戶界面控件如:按鈕、攝影機(jī)、表格、Slider和樹形控件等。
2、Flexx
Flexx是一個(gè)純Python工具包,用來創(chuàng)建圖形化界面應(yīng)用程序。其使用web技術(shù)進(jìn)行界面的渲染。你可以用Flexx來創(chuàng)建桌面應(yīng)用,同時(shí)也可以導(dǎo)出一個(gè)應(yīng)用到獨(dú)立的HTML文檔。因?yàn)槭褂眉働ython開發(fā),所以Flexx是跨平臺(tái)的。
3、PyQt
PyQt是Qt庫的Python版本。PyQt3支持Qt1到Qt3.PyQt4支持Qt4.它的首次發(fā)布也是在1998年,但是當(dāng)時(shí)它叫PyKDE,因?yàn)殚_始的時(shí)候SIP和PyQt沒有公開。PyQt是用SIP寫的,PyQt提供GPL版和商業(yè)版。
4、wxPython
wxPython是Python語言的一套優(yōu)秀的GUI圖形庫,允許Python程序員很方便的創(chuàng)建完整的、功能健全的GUI用戶界面。wxPython是作為優(yōu)秀的跨平臺(tái)GUI庫wxWidgets的Python封裝和Python模塊的方式提供給用戶的。
就如同Python和wxWidgets一樣,wxPython也是一款開源軟件,并且具有非常優(yōu)秀的跨平臺(tái)能力,能夠運(yùn)行在32位windows、絕大多數(shù)的Unix或類Unix系統(tǒng)、Macintosh OS X上。
5、Tkinter
Tkinter是TK圖形用戶界面工具包標(biāo)準(zhǔn)的Python接口。TK是一個(gè)輕量級(jí)的跨平臺(tái)圖形用戶界面開發(fā)工具。Tk和Tkinter可以運(yùn)行在大多數(shù)的Unix平臺(tái)、windows和Macintosh系統(tǒng)。
6、PyGTK
PyGTK讓你用Python輕松創(chuàng)建具有圖形用戶界面的程序,底層的GTK+提供了各式的可視元素和功能,如果需要,你能開發(fā)在GNOME桌面系統(tǒng)運(yùn)行的功能完整的軟件。PyGTK真正具有跨平臺(tái)性,它能不加修改地,穩(wěn)定運(yùn)行各種操作系統(tǒng)之上。除了簡單易用和快速的原型開發(fā)能力外,PyGTK還有一流的處理本地化語言的獨(dú)特功能。
了解更多python知識(shí),推薦選擇【老男孩教育】。
python可以寫軟件么怎么寫?
22點(diǎn)24分準(zhǔn)時(shí)推送,第一時(shí)間送達(dá)
編輯:技術(shù)君 | 來源:youerning
上一篇:
正文
前言
用 Python 寫安卓 APP 肯定不是最好的選擇,目前用Java和 kotlin 寫的居多,但是肯定也是一個(gè)很偷懶的選擇,而且實(shí)在不想學(xué)習(xí) Java,再者,就編程而言已經(jīng)會(huì)的就 Python與Golang(注:Python,Golang水平都一般),那么久Google了一下Python 寫安卓的 APP 的可能性,還真行。
既然要寫個(gè)APP,那么總得要有個(gè)想法吧。其實(shí)想做兩個(gè)APP來著,一個(gè)是自己寫著好玩的,一個(gè)是關(guān)于運(yùn)維的。關(guān)于運(yùn)維的APP,設(shè)計(jì)應(yīng)該如下
可能長這樣
然后設(shè)計(jì)應(yīng)該是這樣。
如果覺得可行的話,評(píng)論留言一下你覺得應(yīng)該寫進(jìn)這個(gè)APP的運(yùn)維常用命令吧^_^,筆者暫時(shí)想到的是top,free -m,df –h,uptime,iftop,iotop,如果有什么好的想法就狠狠的砸過來吧,筆者到時(shí)應(yīng)該也會(huì)把這個(gè)寫成一個(gè)項(xiàng)目放到github上,大家一起用嘛,開源才是王道,哈哈。
開發(fā)安卓APP
我們使用kivy開發(fā)安卓APP,Kivy是一套專門用于跨平臺(tái)快速應(yīng)用開發(fā)的開源框架,使用Python和Cython編寫,對(duì)于多點(diǎn)觸控有著非常良好的支持,不僅能讓開發(fā)者快速完成簡潔的交互原型設(shè)計(jì),還支持代碼重用和部署,絕對(duì)是一款頗讓人驚艷的NUI框架。
因?yàn)榭缙脚_(tái)的,所以只寫一遍代碼,就可以同時(shí)生成安卓及IOS的APP,很酷吧。
本文會(huì)帶大家寫一個(gè)Hello world并瞧一瞧 Python 版的2048的代碼
kivy安裝
環(huán)境說明:筆者在用的是Python2.7.10
這里僅介紹windows平臺(tái)安裝
所有平臺(tái)參考:
更新pip,setuptools
python -m pip install --upgrade pip wheel setuptools
然后是安裝所需要的依賴
python -m pip install docutils pygmentspypiwin32 kivy.deps.sdl2 kivy.deps.glew \
kivy.deps.gstreamer --extra-index-url
值得注意的是,上面的安卓需要訪問Google,所以請(qǐng)自備梯子,而且kivy.deps.gstreamer這個(gè)包比較大(95MB),可以單獨(dú)本地安裝,
然后就是安裝kivy了
python -m pip install kivy
至此,安裝就已經(jīng)完畢了,值得注意的是64位系統(tǒng)沒有開啟虛擬化支持,在導(dǎo)入kivy的時(shí)候會(huì)報(bào)錯(cuò),如果是64位系統(tǒng)就設(shè)置一下機(jī)器的BIOS,開啟虛擬化支持吧。
注:這里只是kivy的運(yùn)行環(huán)境,這樣我就能直接在windows機(jī)器上直接調(diào)試了,怎么將代碼編譯成APK文件我們會(huì)在后面講到。
如果kivy在python中應(yīng)該就能導(dǎo)入了。
按照世界慣例,我們”hello”一下吧。
新建一個(gè).py文件
from kivy.app import Appfrom kivy.uix.button importButton
class TestApp(App):
def build(self):
return Button(text='Hello,kivy')
TestApp().run()
運(yùn)行
然后會(huì)彈出一個(gè)框,大概如下,點(diǎn)擊”hello,kivy”會(huì)變顏色
點(diǎn)擊窗口并按“F1”會(huì)這個(gè)窗口的一些屬性
然后我們回過頭看一看代碼。
##導(dǎo)入App,然后讓TestApp這個(gè)類繼承
from kivy.app import App##導(dǎo)入一個(gè)Button,運(yùn)維有這個(gè)button,當(dāng)你點(diǎn)擊的時(shí)候才會(huì)有所反應(yīng)
from kivy.uix.button
importButton
###定義類,名字必須是xxxAppclass TestApp(App):
###build一個(gè)Button
def build(self):
###返回一個(gè)Button,文字內(nèi)容是“Hello,kivy”
return Button(text='Hello,kivy')
##運(yùn)行,因?yàn)槔^承了App,所以才有的run這個(gè)方法TestApp().run()
上面就是我們的Hello了
在windows上運(yùn)行當(dāng)然沒有什么太大的意義,怎么在安卓手機(jī)上運(yùn)行才是我們想要的,
這時(shí)我們需要一個(gè)編譯環(huán)境。
官方說明的環(huán)境,如下:
You’ll need:
A linux computer or a virtual machine
Java
Python 2.7 (not 2.6.)
Jinja2 (python module)
Apache ant
Android SDK
雖然官方提供了一個(gè)似乎還不錯(cuò)的虛擬機(jī)鏡像,但是還是有很多內(nèi)容需要翻出去,所以筆者在這里提供相對(duì)而言更加完善的鏡像
下載地址:
注:virtualbox,vmware需自行下載
root密碼:kivy
默認(rèn)使用賬戶kivy,密碼:kivy123
當(dāng)然你也可以下載官方鏡像,因?yàn)榈谝淮尉幾g需要去國外下一大堆東西,所以請(qǐng)自行去下載。
Virtual Machine
A Virtual Machine with Android SDK and NDK and all otherpre-requisites pre installed to ease apk generation:
Kivy Buildozer VM
Or select the Torrent
在筆者提供的鏡像里,桌面上有一個(gè)dev_and,只要將上面寫的代碼,放入這個(gè)文件夾即可(當(dāng)然也可以在其他目錄,后面會(huì)講到)。
在公眾號(hào)Python人工智能技術(shù)后臺(tái)回復(fù)“面試”,獲取騰訊Python面試題和答案。
cd Desktop/dev_and/
初始化會(huì)在當(dāng)前目錄生成一個(gè)buildozer.spec文件 用于配置生成的apk相關(guān)信息
buildozer init
###修改buildozer.spec文件
vi buildozer.spec
至少修改下面三項(xiàng)
# (str) Title of your applicationtitle = helloworld
# (str) Package namepackage.name = helloapp
# (str) Package domain (needed for android/ios packaging)package.domain = youer.com
然后注釋
# (str) Application versioning (method 1)#version.regex = __version__ = ['"](.*)['"]#version.filename = %(source.dir)s/main.py
下面這行改為非注釋
version = 1.2.0
最后我們生成我們需要的apk文件
buildozer -v android debug
buildozer.spec更詳細(xì)的相關(guān)參數(shù)配置參考:
buildozer命令會(huì)在當(dāng)前文件夾創(chuàng)建一個(gè)bin,該文件夾里面有我們想要的apk文件
helloapp-1.2.0-debug.apk
helloapp-1.2.0-debug.apk
安裝以后是這樣:
話說在編譯的時(shí)候可能出現(xiàn)空間不足的情況,根據(jù)虛擬機(jī)的不同(vmware或virtualbox)自行擴(kuò)容吧。
最后我們來瞧瞧簡易版Python開發(fā)的2048這個(gè)游戲的源代碼。
代碼:
先看效果圖:
試玩了一下,還是蠻流暢的,有興趣的可以下載玩一下
下載地址:
這個(gè)游戲代碼雖然不長,但是還是蠻占篇幅的,所以簡要的說明一下流程。
主要由三部分組成,一是素材,圖片音頻之類的文件,二是Python代碼,三是kv文件,這個(gè)kv文件有點(diǎn)像 html 中的css。
Python代碼的文件名一般命名為 main.py
然后一定有一個(gè)叫做 XXXApp 的類,并繼承 App。
比如該類叫做GameApp,那么該目錄下的kv文件則必須為Game,如上圖所示,如果不是,那么kv文件中的一些設(shè)定就不會(huì)生效。
比如設(shè)定一個(gè)標(biāo)簽
Label:
id: time
text: 'xxxx'
font_size: 60
id為time,text文本內(nèi)容為'xxxx',然后字體為60
好吧,點(diǎn)到為止吧,不過似乎什么都沒點(diǎn)到~~~
你還有什么想要補(bǔ)充的嗎?
你在看嗎?一起成長
python可以開發(fā)app嗎
python可以開發(fā)app嗎?
python是可以開發(fā)app的,例如我們可以使用kivy開發(fā)安卓APP,Kivy是一套專門用于跨平臺(tái)快速應(yīng)用開發(fā)的開源框架,使用Python和Cython編寫,對(duì)于多點(diǎn)觸控有著非常良好的支持,不僅能讓開發(fā)者快速完成簡潔的交互原型設(shè)計(jì),還支持代碼重用和部署,絕對(duì)是一款頗讓人驚艷的NUI框架。
Kivy的主要架構(gòu)由Kivy組織開發(fā),并有Python用于Android,Kivy iOS和其它許多函式庫被使用在所有平臺(tái)。在2012年,Kivy從Python軟件基金會(huì)獲得$5000美元補(bǔ)助,用于移植Kivy到Python 3.3。Kivy也支援由Bountysource贊助的樹莓派。
其架構(gòu)包括所有建造應(yīng)用程序的元素,例如:
支援許多種輸入,例如鼠標(biāo),鍵盤、觸控式使用者界面(TUIO)和特定操作系統(tǒng)的多重觸控事件,只采用OpenGL ES 2的圖形函式庫,且根基于向量緩沖物件(Vertex Buffer Object)和著色器,支援多點(diǎn)觸控的龐大控件,一個(gè)中間語言(Kv)用來簡化客制控件的設(shè)計(jì)。
Kivy改良了PyMT專案,并且推薦給新的專案采用。
相關(guān)推薦:《Python教程》以上就是小編分享的關(guān)于python可以開發(fā)app嗎的詳細(xì)內(nèi)容希望對(duì)大家有所幫助,更多有關(guān)python教程請(qǐng)關(guān)注環(huán)球青藤其它相關(guān)文章!
如何在使用python開發(fā)app
用Python寫安卓APP肯定不是最好的選擇,但是肯定是一個(gè)很偷懶的選擇,而且實(shí)在不想學(xué)習(xí)Java,再者,就編程而言已經(jīng)會(huì)的就Python與Golang(注:Python,Golang水平都一般),那么久Google了一下Python寫安卓的APP的可能性,還真行。既然要寫個(gè)APP,那么總得要有個(gè)想法吧。其實(shí)筆者想做兩個(gè)APP來著,一個(gè)是自己寫著好玩的,一個(gè)是關(guān)于運(yùn)維的。關(guān)于運(yùn)維的APP,設(shè)計(jì)應(yīng)該如下如果覺得可行的話,評(píng)論留言一下你覺得應(yīng)該寫進(jìn)這個(gè)APP的運(yùn)維常用命令吧^_^,筆者暫時(shí)想到的是top,free-m,df–h,uptime,iftop,iotop,如果有什么好的想法就狠狠的砸過來吧,筆者到時(shí)應(yīng)該也會(huì)把這個(gè)寫成一個(gè)項(xiàng)目放到github上,大家一起用嘛,開源才是王道,哈哈。好吧,進(jìn)入正題。我們使用kivy開發(fā)安卓APP,Kivy是一套專門用于跨平臺(tái)快速應(yīng)用開發(fā)的開源框架,使用Python和Cython編寫,對(duì)于多點(diǎn)觸控有著非常良好的支持,不僅能讓開發(fā)者快速完成簡潔的交互原型設(shè)計(jì),還支持代碼重用和部署,絕對(duì)是一款頗讓人驚艷的NUI框架。因?yàn)榭缙脚_(tái)的,所以只寫一遍代碼,就可以同時(shí)生成安卓及IOS的APP,很酷吧。本文會(huì)帶大家寫一個(gè)Helloworld并瞧一瞧Python版的2048的代碼
關(guān)于python跨平臺(tái)app開發(fā)框架和python的特性跨平臺(tái)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。