Windows下用python編寫簡單GUI程序的方法


  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程序的調用方式,並且調用時會讓伴隨的命令行放到后台去執行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM