1. python如何進行GUI桌面開發有哪些不錯的庫可以推薦
Python進行GUI開發的庫其實很多,下面我簡單介紹幾個不錯的庫,感興趣的朋友可以自己嘗試一下,實驗環境win10+python3.6+pycharm5.0,主要內容如下:
tkinter
這個就不用多說了,python自帶的GUI開發標准庫,對於開發小型簡單的應用來說,完全可以了,開源、跨平台,使用起來非常方便,下面我簡單測試一下,主要代碼如下:
點擊運行程序,效果如下,一個窗口一個Label標簽:
easygui
這個是基於tkinter的一個窗口GUI庫,可以快速創建窗口對話框,包括常見的登陸對話框、注冊對話框等,下面我簡單介紹一下這個庫的安裝和使用:
1.首先,安裝easygui,這個直接在cmd窗口輸入安裝命令「pip install easygui」就行,如下:
2.安裝完成後,我們就可以直接編寫代碼進行測試了,主要代碼如下,非常簡單:
點擊運行這個程序,效果如下:
kivy
這是一個跨平台的GUI應用程序開發庫,可以用來開發安卓、蘋果應用,一套程序,可以處處運行,下面我簡單介紹一下這個庫的安裝和使用:
1.首先,安裝kivy,這個直接按官方教程安裝就行,如下:
2.安裝完成後,就可以直接編寫代碼進行測試了,主要代碼如下,非常簡單:
點擊運行程序,效果如下,這里你可以將其打包為手機應用,安裝到手機上:
wxpython
這也是一個免費、跨平台的Python GUI開發庫,相比較前面的tkinter來說,功能更為強大,控制項也更多,下面我簡單介紹一下這個庫的安裝和使用:
1.首先,安裝wxpython,這個也直接在cmd窗口輸入命令「pip install wxpython」就行,如下:
2.安裝完成後,我們就可以直接編寫相關代碼進行測試了,主要代碼如下,非常簡單,一個簡單的文本編輯器:
點擊運行這個程序,效果如下:
pyqt
這個Qt的一個Python介面庫,藉助於Qt強大的用戶界面,Python也可以快速開發出GUI程序,組件更多,也更方便,只要你有一定的Qt基礎,很快就能掌握這個庫的使用,下面我簡單介紹一下這個庫的安裝和使用:
1.首先,安裝pyqt,這個直接在cmd窗口輸入安裝命令「pip install pyqt5」就行,如下,安裝需要稍微等待一會兒:
2.安裝完成後,我們就可以直接編寫代碼進行測試了,如下,一個簡單的計算器:
點擊運行這個程序,效果如下:
至此,我們就介紹完了這5個Python GUI庫。總的來說,這5個庫使用起來都非常不錯,如果你的應用界面比較簡單,功能要求不高,可以選擇tkinter和easygui,如果界面比較復雜,功能要求比較復雜,可以考慮使用wxpython或pyqt,當然,你也可以使用其他GUI庫,像pygame等,根據實際項目需求而定,網上也有相關資料和教程,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言。
python簡單的GUI界面化的有內置的模塊tkinter相對來說簡單,但是做出來的界面也簡單。目前市場上用的多的還是QT吧!python有的QT是pyqt5當前使用比較多。如果用的pycharm開發工具也可以進行配置進行開發,最好的用eric專門開發PYQT的軟體。
2. 有多好Kivy為android
在android上運行python腳本,或者在android上使用python交互界面,對熟悉python的研究或開發人員來說,是一件很有吸引力的事情,因為python腳本真是非常高效,另外,有很多非常好的庫
android官方目前沒有支持在android設備運行python,但是網上有一些項目組做了這個事情 這個鏈接就提供好幾個項目,我稍微嘗試了 Kivy 這種方式, 需要安裝
的東西太多,就放棄了. 推薦 這種方式,使用 qpython 項目, 可以用非常少的付出得到 android 上可以運行的 python 環境.
5 relogin the shell
6. type python in the adb shell
root@generic:/ # python // 我嘗試的時候,直接運行 python (其實是運行 /data/data/com.hipipal.qpyplus/files/bin/python ) 會報錯: error: only position independent executables (PIE) are supported. 我測試的設備是 Nexus 6 , android 6.0 , 在
這些比較新的 android 系統上有保護,需要可執行程序使用 -PIE 進行編譯,否則無法運行. 但我發現同樣的目錄下 python-android5 是可以運行的, 所以就 mv python python.bak ; ln -s python-android5 python ; 這樣後面就可以直接運行 python 了.
-
3. python可以寫軟體么怎麼寫
22點24分准時推送,第一時間送達
編輯:技術君 | 來源:youerning
上一篇:
正文
前言
用 Python 寫安卓 APP 肯定不是最好的選擇,目前用Java和 kotlin 寫的居多,但是肯定也是一個很偷懶的選擇,而且實在不想學習 Java,再者,就編程而言已經會的就 Python與Golang(註:Python,Golang水平都一般),那麼久Google了一下Python 寫安卓的 APP 的可能性,還真行。
既然要寫個APP,那麼總得要有個想法吧。其實想做兩個APP來著,一個是自己寫著好玩的,一個是關於運維的。關於運維的APP,設計應該如下
可能長這樣
然後設計應該是這樣。
如果覺得可行的話,評論留言一下你覺得應該寫進這個APP的運維常用命令吧^_^,筆者暫時想到的是top,free -m,df –h,uptime,iftop,iotop,如果有什麼好的想法就狠狠的砸過來吧,筆者到時應該也會把這個寫成一個項目放到github上,大家一起用嘛,開源才是王道,哈哈。
開發安卓APP
我們使用kivy開發安卓APP,Kivy是一套專門用於跨平台快速應用開發的開源框架,使用Python和Cython編寫,對於多點觸控有著非常良好的支持,不僅能讓開發者快速完成簡潔的交互原型設計,還支持代碼重用和部署,絕對是一款頗讓人驚艷的NUI框架。
因為跨平台的,所以只寫一遍代碼,就可以同時生成安卓及IOS的APP,很酷吧。
本文會帶大家寫一個Hello world並瞧一瞧 Python 版的2048的代碼
kivy安裝
環境說明:筆者在用的是Python2.7.10
這里僅介紹windows平台安裝
所有平台參考: https://kivy.org/#download
更新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 https://kivy.org/downloads/packages/simple/
值得注意的是,上面的安卓需要訪問Google,所以請自備梯子,而且kivy.deps.gstreamer這個包比較大(95MB),可以單獨本地安裝,http://pan..com/s/1o7mlxNk
然後就是安裝kivy了
python -m pip install kivy
至此,安裝就已經完畢了,值得注意的是64位系統沒有開啟虛擬化支持,在導入kivy的時候會報錯,如果是64位系統就設置一下機器的BIOS,開啟虛擬化支持吧。
註:這里只是kivy的運行環境,這樣我就能直接在windows機器上直接調試了,怎麼將代碼編譯成APK文件我們會在後面講到。
如果kivy在python中應該就能導入了。
按照世界慣例,我們」hello」一下吧。
新建一個.py文件
from kivy.app import Appfrom kivy.uix.button importButton
class TestApp(App):
def build(self):
return Button(text='Hello,kivy')
TestApp().run()
運行
然後會彈出一個框,大概如下,點擊」hello,kivy」會變顏色
點擊窗口並按「F1」會這個窗口的一些屬性
然後我們回過頭看一看代碼。
##導入App,然後讓TestApp這個類繼承
from kivy.app import App##導入一個Button,運維有這個button,當你點擊的時候才會有所反應
from kivy.uix.button
importButton
###定義類,名字必須是xxxAppclass TestApp(App):
###build一個Button
def build(self):
###返回一個Button,文字內容是「Hello,kivy」
return Button(text='Hello,kivy')
##運行,因為繼承了App,所以才有的run這個方法TestApp().run()
上面就是我們的Hello了
在windows上運行當然沒有什麼太大的意義,怎麼在安卓手機上運行才是我們想要的,
這時我們需要一個編譯環境。
官方說明的環境,如下:
You』ll need:
A linux computer or a virtual machine
Java
Python 2.7 (not 2.6.)
Jinja2 (python mole)
Apache ant
Android SDK
雖然官方提供了一個似乎還不錯的虛擬機鏡像,但是還是有很多內容需要翻出去,所以筆者在這里提供相對而言更加完善的鏡像
下載地址:http://pan..com/s/1geyAY7x
注:virtualbox,vmware需自行下載
root密碼:kivy
默認使用賬戶kivy,密碼:kivy123
當然你也可以下載官方鏡像,因為第一次編譯需要去國外下一大堆東西,所以請自行去下載。
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
在筆者提供的鏡像里,桌面上有一個dev_and,只要將上面寫的代碼,放入這個文件夾即可(當然也可以在其他目錄,後面會講到)。
在公眾號Python人工智慧技術後台回復「面試」,獲取騰訊Python面試題和答案。
cd Desktop/dev_and/
初始化會在當前目錄生成一個buildozer.spec文件 用於配置生成的apk相關信息
buildozer init
###修改buildozer.spec文件
vi buildozer.spec
至少修改下面三項
# (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更詳細的相關參數配置參考:
http://buildozer.readthedocs.org/en/latest/specifications.html
buildozer命令會在當前文件夾創建一個bin,該文件夾裡面有我們想要的apk文件
helloapp-1.2.0-debug.apk
helloapp-1.2.0-debug.apk
安裝以後是這樣:
話說在編譯的時候可能出現空間不足的情況,根據虛擬機的不同(vmware或virtualbox)自行擴容吧。
最後我們來瞧瞧簡易版Python開發的2048這個游戲的源代碼。
代碼:
https://github.com/mvasilkov/kb/tree/master/6_2048
先看效果圖:
試玩了一下,還是蠻流暢的,有興趣的可以下載玩一下
下載地址:http://pan..com/s/1eQZACDW
這個游戲代碼雖然不長,但是還是蠻占篇幅的,所以簡要的說明一下流程。
主要由三部分組成,一是素材,圖片音頻之類的文件,二是Python代碼,三是kv文件,這個kv文件有點像 html 中的css。
Python代碼的文件名一般命名為 main.py
然後一定有一個叫做 XXXApp 的類,並繼承 App。
比如該類叫做GameApp,那麼該目錄下的kv文件則必須為Game,如上圖所示,如果不是,那麼kv文件中的一些設定就不會生效。
比如設定一個標簽
Label:
id: time
text: 'xxxx'
font_size: 60
id為time,text文本內容為'xxxx',然後字體為60
好吧,點到為止吧,不過似乎什麼都沒點到~~~
你還有什麼想要補充的嗎?
你在看嗎?一起成長
4. 如何Python寫一個安卓APP
使用kivy開發安卓APP,Kivy是一套專門用於跨平台快速應用開發的開源框架,使用Python和Cython編寫,對於多點觸控有著非常良好的支持,不僅能讓開發者快速完成簡潔的交互原型設計,還支持代碼重用和部署,絕對是一款頗讓人驚艷的NUI框架。
操作
更新pip,setuptools;
5. windows下運行python kivy程序提示OpenGL版本低
安裝kivy步驟:
1.確保你安裝了最新版本的pip和wheel
python -m pip install --upgrade pip wheel setuptools
2.安裝依賴
python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glewpython -m pip install kivy.deps.gstreamer
如果遇到內存錯誤,就在後面加上–no-cache-dir.
如果安裝的python版本大於3.5,那麼可以用下面的代替glew:
python -m pip install kivy.deps.angle
3.安裝kivy
python -m pip install kivy
4.安裝kivy示例:
python -m pip install kivy_examples
我安裝的示例在:
C:\Users\Toa\AppData\Local\Programs\Python\Python36\share\kivy-examples>
所以我運行如下main.py程序;
python C:\Users\Toa\AppData\Local\Programs\Python\Python36\share\kivy-examples\demo\showcase\main.py
6. kivy根據官網安裝好了文件運行example為什麼報錯找不到moudle pygame
pygame需要另外安裝的。
你安裝了pygame沒有?
7. 可以用Python開發安卓嗎
我們知道了Python可以開發桌面應用(PyQt、wxPython等),可以開發服務端(twisted等),可以開發web端(Django、Flask等),開發爬蟲(pyspider等),開發硬體stm32(PyBoard等),是一個全棧開發語言。那麼可以用Python開發安卓嗎?
可以用Python開發安卓嗎
Python可以開發安卓應用。
我們可以使用kivy開發安卓APP,Kivy是一套專門用於跨平台快速應用開發的開源框架,使用Python和Cython編寫,對於多點觸控有著非常良好的支持,不僅能讓開發者快速完成簡潔的交互原型設計,還支持代碼重用和部署,絕對是一款頗讓人驚艷的NUI框架。
因為跨平台的,所以只寫一遍代碼,就可以同時生成安卓及iOS的APP。
Kivy是開源Python函式庫,用於開發行動應用程序和其它採用自然用戶界面的多點觸控應用軟體。它可以在Android,iOS,Linux,OS X和Windows執行。採用MIT授權條款,Kivy是自由並且開源的軟體。
Kivy的主要架構由Kivy組織開發,並有Python用於Android,Kivy iOS和其它許多函式庫被使用在所有平台。在2012年,Kivy從Python軟體基金會獲得$5000美元補助,用於移植Kivy到Python 3.3。Kivy也支援由Bountysource贊助的樹莓派。
更多技術請關注Python視頻教程。
8. kivy在Android上運行,有人弄過嗎
在電腦上寫好一個kivy程序,編譯成apk後拷至手機,運行,出現kivy啟動界面,隨即退出。
怎麼查找錯誤原因呢?在ubuntu下運行該kivy程序(python main.py等),會列印出調試及錯誤信息,但在手機上怎麼辦?想到了adb logcat。
於是費了九牛二虎之力,將盛大bambook s1手機連到虛擬機上,執行adb logcat命令,然後執行程序,果然看到了一行錯誤提示:
I/python ( 4775): [DEBUG ] [Resource ] add </system/fonts> in path list
I/python ( 4775): Traceback (most recent call last):
I/python ( 4775): File "/home/kivy/myprogs/SwitchMT/main.py", line 218, in <mole>
I/python ( 4775): File "/home/kivy/android/python-for-android/build/python-install/lib/python2.7/site-packages/kivy/app.py", line 600, in run
I/python ( 4775): File "/home/kivy/myprogs/SwitchMT/main.py", line 201, in build
I/python ( 4775): File "<string>", line 15, in write
I/python ( 4775): UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 7: ordinal not in range(128)
該行是一條含中文字元的print語句,字串前未加u。反正以前調試用的語句,不作分析,直接去掉。再次運行,通過。終於出現了程序的kivy界面了。
再查看前面日誌,卻發現這么一句:
I/python ( 4775): [INFO ] Kivy v1.8.0-dev
I/python ( 4775): [INFO ] [Logger ] Record log in /mnt/sdcard/org.test.SwitchMT/.kivy/logs/kivy_13-08-04_1.txt
自己升級安裝的,在ubuntu中運行時所用的kivy v1.7.1,怎麼打apk包時變成了1.8.0-dev不得而知。重要的是,該程序在 /mnt/sdcard/org.test.SwitchMT/.kivy/logs下產生有日誌文件!找到該目錄,發現甚至連main.py都被解包了出來,而日誌文件里也指明了錯誤, 這就是說,運行完kivy程序如果出錯,只需在日誌目錄查看日誌文件即可。省去太麻煩的調試環境了。
看了看,發現之前跑過的kivy程序也都有各自的包名下相應的目錄,看來這就是kivy的運行機制,當然不知道是不是跟編譯打包時加的debug選擇有關系,是不是改成release就沒有這些目錄了呢?畢竟將py源碼解出來話卡上不太安全。這就不得而知了。以後再試吧,不過目前至少是解決了查看程序出錯日誌的問題了,特此記錄。
9. 怎麼用python編android app
前言:用Python寫安卓APP肯定不是最好的選擇,但是肯定是一個很偷懶的選擇,而且實在不想學習Java,再者,就編程而言已經會的就Python與Golang(註:Python,Golang水平都一般),那麼久Google了一下Python寫安卓的APP的可能性,還真行。
既然要寫個APP,那麼總得要有個想法吧。
其實筆者想做兩個APP來著,一個是自己寫著好玩的,一個是關於運維的。
關於運維的APP,設計應該如下
可能長這樣:
主要由三部分組成,一是素材,圖片音頻之類的文件,二是Python代碼,三是kv文件,這個kv文件有點像html中的css。
Python代碼的文件名一般命名為main.py
然後一定有一個叫做XXXApp的類,並繼承App。
比如該類叫做GameApp,那麼該目錄下的kv文件則必須為Game,如上圖所示,如果不是,那麼kv文件中的一些設定就不會生效。
比如設定一個標簽
Label:
id: time
text: 'xxxx'
font_size: 6012345
id為time,text文本內容為』xxxx』,然後字體為60
好吧,點到為止吧,不過似乎什麼都沒點到~~~
從無到有做一個App,我想我會另起一篇文章吧。
10. 什麼是Kivy,以及Hello world
Kivy是跨平台運行的,用於Python編程語言來開發圖形界面程序。
當前支持的平台包括:Linux、Windows、Mac OS X和Android。
突出特色是開發多點觸摸應用程序。
安裝Kivy,直接到官網下載安裝包即可。
示例代碼:
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text='Hello World')
TestApp().run()