Python如何實(shí)現(xiàn)圖形化界面制作為桌面軟件?
網(wǎng)友解答: 我覺得這個(gè)問題提的有點(diǎn)不清楚,從兩個(gè)角度理解吧。1. Python圖形化開發(fā),我覺得第1個(gè)回答滿對(duì)的,我再詳細(xì)說說。2. Python程序打包,其實(shí)是第2個(gè)回答的內(nèi)容,少了平
我覺得這個(gè)問題提的有點(diǎn)不清楚,從兩個(gè)角度理解吧。
1. Python圖形化開發(fā),我覺得第1個(gè)回答滿對(duì)的,我再詳細(xì)說說。
2. Python程序打包,其實(shí)是第2個(gè)回答的內(nèi)容,少了平臺(tái)的限定,如果只是windows平臺(tái)。下面詳細(xì)說。
python圖形化開發(fā)
PyQt是一個(gè)創(chuàng)建GUI應(yīng)用程序的工具包。它是Python編程語言和Qt庫的成功融合。Qt庫是目前最強(qiáng)大的庫之一。PyQt是由Phil Thompson 開發(fā)。PyQt實(shí)現(xiàn)了一個(gè)Python模塊集。它有超過300類,將近6000個(gè)函數(shù)和方法。它是一個(gè)多平臺(tái)的工具包,可以運(yùn)行在所有主要操作系統(tǒng)上,包括UNIX,Windows和Mac。 PyQt采用雙許可證,開發(fā)人員可以選擇GPL和商業(yè)許可。在此之前,GPL的版本只能用在Unix上,從PyQt的版本4開始,GPL許可證可用于所有支持的平臺(tái)。官網(wǎng):Qt | Cross-platform software development for embedded & desktop
開發(fā)文檔:Qt - 開發(fā)者
成品樣例:
學(xué)習(xí)地方:
1、官方社區(qū):Qt Forum
2、官方博客:Qt Blog - For Developers by Developers
3、PyQt4 tutorial
4、Archi - 博客園
5、PyQt - Woodpecker Wiki for CPUG
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 /64位windows、絕大多數(shù)的Unix或類Unix系統(tǒng)、Macintosh OS X下官網(wǎng):wxPython
開發(fā)文檔:FrontPage - wxPyWiki
成品樣例:
學(xué)習(xí)地方:
1、How to Learn wxPython
2、WxPython教程
3、wxPython的基礎(chǔ)教程
Tkinter模塊("Tk 接口")是Python的標(biāo)準(zhǔn)Tk GUI工具包的接口.Tk和Tkinter可以在大多數(shù)的Unix平臺(tái)下使用,同樣可以應(yīng)用在Windows和Macintosh系統(tǒng)里.Tk8.0的后續(xù)版本可以實(shí)現(xiàn)本地窗口風(fēng)格,并良好地運(yùn)行在絕大多數(shù)平臺(tái)中.官網(wǎng):TkInter - Python Wiki
開發(fā)文檔:FrontPage - Tkinter Wiki
成品樣例:
學(xué)習(xí)地方:
1、python GUI編程(Tkinter)
2、Tkinter 8.5 reference: a GUI for Python
3、Python GUI編程(Tkinter)
4、【玩樹莓】編程篇(五)Python下使用Tkinter 制作圖形界面
5、pyhon之Tkinter實(shí)例化學(xué)習(xí)
6、Tkinter:圖形用戶界面編程
PySide是跨平臺(tái)的應(yīng)用程式框架Qt的Python綁定版本 。在2009年8月,PySide首次發(fā)布。提供和PyQt類似的功能,并相容 API。但與 PyQt 不同處為使用LGPL授權(quán)。官網(wǎng):https://pypi.python.org/pypi/PySide/1.2.4 、 PySide - Qt Wiki
開發(fā)文檔:PySide — PySide 1.2.4 documentation
學(xué)習(xí)地方:
1、GitHub - shuge/Qt-Python-Binding-Examples: Lots of simple and Pythonic PySide demos
2、GitHub - PySide/Examples: Python script examples adapted for PySide.
3、GitHub - PySide/PySide: This repository contains the CPython Qt bindings generated using the Shiboken generator.
4、Overview — PySide v1.0.7 documentation
Python 程序打包:
1、安裝PyInstaller
PyInstaller的作用如標(biāo)題所說,首先需要下載PyInstaller和UPX,UPX是用來壓縮exe的,點(diǎn)擊超鏈接下載吧,注意選擇你使用的操作系統(tǒng)。如在Windows下,將下載解壓后的upx.exe放到PyInstaller解壓后的文件夾內(nèi)。設(shè)PyInstaller的文件夾為D:PyInstaller,下同。命令行下進(jìn)入D:PyInstaller,運(yùn)行Configure.py,應(yīng)該看到如下信息:
網(wǎng)友解答:你說的是將python開發(fā)的GUI程序(或py文件)打包成exe吧,目前來說有3種打包方式,分別是pyinstaller,py2exe,cx_Freeze,為了更好的說明這個(gè)問題,我以下面這段tkinter開發(fā)的GUI程序?yàn)槔?,?jiǎn)單介紹一下這3個(gè)包是如何打包GUI程序的,至于如何開發(fā)GUI程序,我這里不多講,目前主要是tkinter,wxPython,PyQt這3個(gè)包,我的回答里面就有https://www.wukong.com/question/6514802855004602631/,可以參考一下,實(shí)驗(yàn)環(huán)境win7+python2.7+pycharm(python3一樣),主要內(nèi)容如下:
這里我新建了一個(gè)GUI_EXE.py文件,用python自帶的tkinter開發(fā),界面很簡(jiǎn)單,主界面就是一個(gè)Hello按鈕,點(diǎn)擊后彈出一個(gè)消息提示框,打印"Hello World!",這也是我們本次打包程序的主要對(duì)象,如下:
程序源碼:
程序運(yùn)行截圖:
第一種方式:pyinstaller打包。下面,我主要介紹一下這個(gè)包的安裝和基本打包命令:
1.首先,安裝pyinstaller,這里很簡(jiǎn)單,直接輸入命令pip install pyinstaller安裝就行,如下圖:
2.打包程序,我的GUI_EXE.py文件放在目錄“F:pack”下邊,所以打包命令是"pyinstaller -F -w f:packGUI_EXE.py",這里解釋一下參數(shù)F和w,F(xiàn)是將程序打包成一個(gè)exe文件,沒有那些一大堆dll文件,w是去掉控制臺(tái)窗口,如下圖:
3.默認(rèn)生成的exe文件在"C:UsersAdministratordist"這個(gè)目錄下邊,如下,GUI_EXE.exe文件已經(jīng)成功生成,雙擊便可運(yùn)行:
第二種方式:py2exe打包。下面,我主要介紹一下這個(gè)包的安裝和基本打包過程:
1.首先,下載py2exe。這里需要到官網(wǎng)進(jìn)行下載,地址https://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/,我這里是python2.7 64位的,所以選擇如下版本,你可以根據(jù)自己版本進(jìn)行調(diào)整選擇:
2.下載完成后,因?yàn)槭且粋€(gè)exe文件,直接雙擊就可以進(jìn)行安裝,安裝程序會(huì)自動(dòng)找到python的安裝路徑,我這里就不具體介紹安裝過程了。
3.打包程序。這里需要新建一個(gè)setup.py文件,寫入如下代碼,這里為了方便,我省略了許多參數(shù),其中console是你要打包的腳本名稱:
4.setup.py文件完成后,將它移入"F:pack"目錄,和GUI_EXE.py在一個(gè)目錄下,打開一個(gè)cmd窗口,切換到"f:pack"目錄,輸入如下命令"python setup.py py2exe":
5.打包完成后,會(huì)在當(dāng)前目錄下邊生成一個(gè)dist文件夾和bulid文件夾,進(jìn)入dist文件夾,里面就有生成的GUI_EXE.exe文件,雙擊就可直接運(yùn)行:
第三種方式:cx_Freeze打包。下面,我主要介紹一下這個(gè)包是如何安裝和打包程序的,如下:
1.首先,安裝cx_Freeze,這里直接用命令"pip install cx_freeze"安裝就行,如下:
2.打包程序,這里也需要一個(gè)setup.py文件,輸入如下代碼,其中name是打包后生成的exe文件名字,version是版本號(hào),description是描述,executables是你要打包的py程序:
3.setup.py文件完成后,將它移入"F:pack"目錄,和GUI_EXE.py在一個(gè)目錄下,打開一個(gè)cmd窗口,切換到"f:pack"目錄,輸入如下命令"python setup.py build":
4.打包完成后,會(huì)在當(dāng)前目錄下邊生成一個(gè)build目錄,生成的GUI_EXE.exe文件就在它里邊,雙擊就可直接運(yùn)行:
注意,為了避免看到cmd畫面一閃而過,你可以在GUI_EXX.py文件尾部添加一行代碼
input('請(qǐng)按任意鍵退出...'),這樣就不會(huì)出現(xiàn)一閃而過的畫面。
至此我們就完成了GUI程序的打包,不過來說,還是pyinstaller打包最簡(jiǎn)單,當(dāng)然,這個(gè)也因人而異,只要能正常的打包程序都行,希望以上分享的內(nèi)容能對(duì)你有所幫助吧。碼字不宜,點(diǎn)個(gè)贊唄。