Python實現GUI簡單的來說可以調用Tkinter庫,這樣一般的需求都可以實現,顯示簡單的windows窗口代碼如下:
python_gui.py
1 #!C:\Python27\python.exe 2 # -*- coding:UTF-8 -*- 3 4 import Tkinter 5 6 def center_window(w = 300, h = 200): 7 ws = root.winfo_screenwidth() 8 hs = root.winfo_screenheight() 9 x = (ws/2) - (w/2) 10 y = (hs/2) - (h/2) 11 root.geometry("%dx%d+%d+%d" % (w, h, x, y)) 12 13 root = Tkinter.Tk(className='python gui') 14 center_window(500, 300) 15 root.mainloop()
第一行實現了,直接輸入文件名即可執行,不用手動指定python.exe的位置也可以,現在可以運行cmd來執行一下
可以看到,用cmd可以正常啟動該python GUI程序,關掉gui界面或者關掉命令行窗口后,程序都會自動結束,如果我們編寫了給普通用戶使用的程序該怎么做,一方面,我們應該拷貝python的安裝目錄過去,因為一般用戶計算機上沒有python環境,我們直接拷貝安裝目錄就可以,不用注冊表支持;另一方面,python GUI程序在運行時后面會伴隨着一個黑色的命令行窗口,這個總是不太好看,我們可以考慮隱藏,隱藏的方法如下:
首先編寫bat腳本啟動python源程序,腳本名稱:start.bat
1 @echo off 2 start /b C:\Python27\python.exe python_gui.py 3 exit
當然第二行啟動位置我們可以根據實際情況編寫,這樣直接運行start.bat就會啟動python程序但是會伴隨命令行窗口,所以不得不用一個比較low的方法,就是用vbs腳本把程序放到后台執行,編寫腳本start.vbs
Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c start.bat",vbhide
通過運行這個vbs腳本就可以只看到gui窗口,並且把cmd窗口隱藏掉了,到這里,我們想要的功能就實現了,最后可以用c語言編譯封裝成一個exe的可執行文件執行上述代碼即可實現調用,還可以編寫一個最終的啟動腳本來啟動vbs即可,比如run.bat
@echo off
start start.vbs
雖然過程調用了好幾次,但是速度幾乎不受影響,並且又是客戶端使用,因此沒什么問題,這就是簡單的python GUI程序的調用方式,並且調用時會讓伴隨的命令行放到后台去執行