1. 八款常用的 python GUI 開發框架推薦
作為Python開發者,你遲早都會用到圖形用戶界面來開發應用。本文將推薦一些 Python GUI 框架,希望對大家有所幫助。
Python 的 UI 開發工具包 Kivy
https://www.oschina.net/p/kivy
Kivy是一個開源工具包能夠讓使用相同源代碼創建的程序能跨平台運行。它主要關注創新型用戶界面開發,如:多點觸摸應用程序。Kivy還提供一個多點觸摸滑鼠模擬器。當前支持的平台包括:Linux、Windows、Mac OS X和Android。
Kivy擁有能夠處理動畫、緩存、手勢、繪圖等功能。它還內置許多用戶界面控制項如:按紐、攝影機、表格、Slider和樹形控制項等。
Python 的 GUI 開發工具 Flexx
https://www.oschina.net/p/flexx
Flexx 是一個純 Python 工具包,用來創建圖形化界面應用程序。其使用 Web 技術進行界面的渲染。你可以用 Flexx 來創建桌面應用,同時也可以導出一個應用到獨立的 HTML 文檔。因為使用純 Python 開發,所以 Flexx 是跨平台的。只需要有 Python 和瀏覽器就可以運行。如果是使用桌面模式運行,推薦使用 Firefox 。
Qt 庫的 Python 綁定 PyQt
https://www.oschina.net/p/pyqt
PyQt是Qt庫的Python版本。PyQt3支持Qt1到Qt3。 PyQt4支持Qt4。它的首次發布也是在1998年,但是當時它叫 PyKDE,因為開始的時候SIP和PyQt沒有分開。PyQt是用SIP寫的。PyQt 提供 GPL版和商業版。
Python圖形開發包 wxPython
https://www.oschina.net/p/wxpython
wxPython 是 Python 語言的一套優秀的 GUI 圖形庫,允許 Python 程序員很方便的創建完整的、功能鍵全的 GUI 用戶界面。 wxPython 是作為優秀的跨平台 GUI 庫 wxWidgets 的 Python 封裝和 Python 模塊的方式提供給用戶的。
就如同Python和wxWidgets一樣,wxPython也是一款開源軟體,並且具有非常優秀的跨平台能力,能夠運行在32位windows、絕大多數的Unix或類Unix系統、Macintosh OS X上。
Tk 圖形用戶界面 Tkinter
https://www.oschina.net/p/tkinter
Tkinter(也叫Tk介面)是Tk圖形用戶界面工具包標準的Python介面。Tk是一個輕量級的跨平台圖形用戶界面(GUI)開發工具。Tk和Tkinter可以運行在大多數的Unix平台、Windows、和Macintosh系統。
Tkinter 由一定數量的模塊組成。Tkinter位於一個名為_tkinter(較早的版本名為tkinter)的二進制模塊中 。Tkinter包含了對Tk的低 級介面模塊,低級介面並不會被應用級程序員直接使用,通常是一個共享庫(或DLL),但是在一些情況下它也被Python解釋器靜態鏈接。
Pywin32
https://www.oschina.net/p/pywin32
Windows Pywin32允許你像VC一樣的形式來使用PYTHON開發win32應用。代碼風格可以類似win32 sdk,也可以類似MFC,由你選擇。如果你仍不放棄vc一樣的代碼過程在python下,那麼這就是一個不錯的選擇。
Python 圖形界面開發包 PyGTK
https://www.oschina.net/p/pygtk
PyGTK讓你用Python輕松創建具有圖形用戶界面的程序.底層的GTK+提供了各式的可視元素和功能,如果需要,你能開發在GNOME桌面系統運行的功能完整的軟體.
PyGTK真正具有跨平台性,它能不加修改地,穩定運行各種操作系統之上,如Linux,Windows,MacOS等.除了簡單易用和快速的原型開發能力外,PyGTK還有一流的處理本地化語言的獨特功能.
用python快速開發絢麗桌面程序 pyui4win
https://www.oschina.net/p/py-ui4win
pyui4win是一個開源的採用自繪技術的界面庫。支持C++和python。用它可以很容易實現QQ和360安全衛士這樣的絢麗界面。而且,pyui4win有所見即所得界面設計器,讓C++開發人員和python開發人員直接用設計工具設計界面,而不用關心界面如何生成和運行,可以顯著縮短界面開發時間。在pyui4win中,界面甚至可以完全交給美工去處理,開發人員可以只負責處理業務邏輯,把開發人員徹底從繁雜的界面處理中解放出來。
以上就是為大家分享的八款常用的python GUI開發框架推薦,希望能對你有幫助。更多python學習資料,可以關注「武漢千鋒」微信公眾號。
2. Python的特點(優點和缺點)
| Python有什麼優勢?
1、Python作為高級語言,面向對象自然不用說,但是相對於其他語言來說,Python是全對象語言,這是Python的一大特色。
2、Python語法簡潔,相對於其他底層語言和高級語言來說Python的語法簡潔好寫,具體的也不好統計,但是相對於C語言來說,實現同樣的功能C語言要100行代碼,Python一般也就30行左右,當然不同功能代碼量有所不同,而且Python沒有像其他語言那樣各種復雜的標點符號,這一點對書寫代碼的速度有很大提高。
3、使用Python的開發人員多,其實這一點很重要,使用的人多就有很多人來維護,開發它,修復他的漏洞,這樣Python的功能就會更完善,更強大。
4、宜讀:Python的語法類似於我們正常說話的流程,所以學習和書寫都很簡單,開發人員之間的交互也非常容易。
5、Python的解釋器彈性也很強,能嵌入很多其他語言之中。
| Python有哪些缺點?
1、Python和底層硬體交互起來比較費勁,很難實現嵌入式開發,即使實現性能也不是很理想。
2、Python的運行速度相對於其他底層語言來說比較慢,這里也是一樣,不一樣的程序代碼實現也有所不同,從網上發布的一些消息來看,Python比起C語言大概慢了幾十倍,大家不要認為慢了幾十倍就很慢,其實語言的通途有不同的方向,C主要是偏向於底層開發,Python傾向於應用層開發,雖然速度上相差幾十倍,但是0.1秒和0.001秒對於應用層來說幾乎沒有影響。
3、Python2和Python3不兼容,雖然是進步,但是對於很多Python2開發的程序更改起來就比較難,甚至需要重新開發。
4、代碼不能加密,發布出去的代碼就是源碼,不像C和C++那樣能直接編譯成機器碼,這也是C和C++能運行速度快的原因。
3. python是開源語言嗎
是。Python是一種開源編程語言。Python的源代畝山稿碼是公開的,任何人都可以免費獲取、使用和修改,而且不需要支付任何費用。Python的開源性使得它成為了全球范圍內廣迅孝泛使用的編程語言之一唯簡。
4. python是開源語言嗎
是的,開源
Python由荷蘭數學和計算機科學研究學會的Guido van Rossum 於1990 年代初設計,作為一門叫做ABC語言的替代品。
Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。Python語法和動態類型,以及解釋型語言的本質,使它成為多數平台上寫腳本和快速開發應用的編程語言, 隨著版本的不斷更新和語言新功能的添加,逐漸被用於獨立的、大型項目的開發。
Python解釋器易於擴展,可以使用C或C++(或者其他可以通過C調用的語言)擴展新的功能和數據類型。 Python 也可用於可定製化軟體中的擴展程序語言。Python豐富的標准庫,提供了適用於各個主要系統平台的源碼或機器碼。
5. 有python寫的程序是否必須開源
「開源」這個詞不只是說別人能否得到你的源代碼, 而是說, 你是否授權別人在一定條件下使用、修改、重新發布你的代碼。 所以開源什麼的完全取決於你自己。 當然相對來說, 解釋語言從技術上保護代碼的難度大一些, 但是從法律上說是沒差別的
6. Python是開源的,它可以被移植到許多平台上是對的還是錯的
當然是
Python 現在是大熱門
7. Python 有像WordPress這樣的開源程序么
python的開源程序很多,除了wordpress外還有如下:
Django: Python Web應用開發框架
Django 應該是最出名的Python框架,GAE甚至Erlang都有框架受它影響。Django是走大而全的方向,它最出名的是其全自動化的管理後台:只需要使用起ORM,做簡單的對象定義,它就能自動生成資料庫結構、以及全功能的管理後台。
Diesel:基於Greenlet的事件I/O框架
Diesel提供一個整潔的API來編寫網路客戶端和伺服器。支持TCP和UDP。
Flask:一個用Python編寫的輕量級Web應用框架
Flask是一個使用Python編寫的輕量級Web應用框架。基於Werkzeug WSGI工具箱和Jinja2 模板引擎。Flask也被稱為「microframework」,因為它使用簡單的核心,用extension增加其他功能。Flask沒有默認使用的資料庫、窗體驗證工具。
Cubes:輕量級Python OLAP框架
Cubes是一個輕量級Python框架,包含OLAP、多維數據分析和瀏覽聚合數據(aggregated data)等工具。
Kartograph.py:創造矢量地圖的輕量級Python框架
Kartograph是一個Python庫,用來為ESRI生成SVG地圖。Kartograph.py目前仍處於beta階段,你可以在virtualenv環境下來測試。
Pulsar:Python的事件驅動並發框架
Pulsar是一個事件驅動的並發框架,有了pulsar,你可以寫出在不同進程或線程中運行一個或多個活動的非同步伺服器。
Web2py:全棧式Web框架
Web2py是一個為Python語言提供的全功能Web應用框架,旨在敏捷快速的開發Web應用,具有快速、安全以及可移植的資料庫驅動的應用,兼容Google App Engine。
Falcon:構建雲API和網路應用後端的高性能Python框架
Falcon是一個構建雲API的高性能Python框架,它鼓勵使用REST架構風格,盡可能以最少的力氣做最多的事情。
Dpark:Python版的Spark
DPark是Spark的Python克隆,是一個Python實現的分布式計算框架,可以非常方便地實現大規模數據處理和迭代計算。DPark由豆瓣實現,目前豆瓣內部的絕大多數數據分析都使用DPark完成,正日趨完善。
Buildbot:基於Python的持續集成測試框架
Buildbot是一個開源框架,可以自動化軟體構建、測試和發布等過程。每當代碼有改變,伺服器要求不同平台上的客戶端立即進行代碼構建和測試,收集並報告不同平台的構建和測試結果。
Zerorpc:基於ZeroMQ的高性能分布式RPC框架
Zerorpc是一個基於ZeroMQ和MessagePack開發的遠程過程調用協議(RPC)實現。和 Zerorpc 一起使用的 Service API 被稱為 zeroservice。Zerorpc 可以通過編程或命令行方式調用。
Bottle: 微型Python Web框架
Bottle是一個簡單高效的遵循WSGI的微型python Web框架。說微型,是因為它只有一個文件,除Python標准庫外,它不依賴於任何第三方模塊。
Tornado:非同步非阻塞IO的Python Web框架
Tornado的全稱是Torado Web Server,從名字上看就可知道它可以用作Web伺服器,但同時它也是一個Python Web的開發框架。最初是在FriendFeed公司的網站上使用,FaceBook收購了之後便開源了出來。
webpy: 輕量級的Python Web框架
webpy的設計理念力求精簡(Keep it simple and powerful),源碼很簡短,只提供一個框架所必須的東西,不依賴大量的第三方模塊,它沒有URL路由、沒有模板也沒有資料庫的訪問。
Scrapy:Python的爬蟲框架
Scrapy是一個使用Python編寫的,輕量級的,簡單輕巧,並且使用起來非常的方便。