一、wxPython簡介
這是Python一個非常不錯的GUI開發庫,免費、開源、跨平臺,可用元件眾多,藉助這些元件,程式設計師可以快速建立完整、功能全面的使用者介面,因此應用非常廣泛
二、安裝方式:
pip install wxpython
三、wxPython簡單實現
import wx
app = wx.App()
#建立一個頂級視窗作為wx.Frame類的物件,設定窗體的大小
window = wx.Frame(None, title = "wxPython Frame", size = (300,200))
#將一個Panel物件放入框架中
panel = wx.Panel(window)
#新增一個StaticText物件以在視窗內的所需位置顯示'Hello World',並設定位置
label = wx.StaticText(panel, label = "Hello World", pos = (50,50))
#通過show()方法啟用框架視窗
window.Show(True)
#輸入Application物件的主事件迴圈
app.MainLoop()
顯示展示結果:
四、wxPython GUI生成器的使用(wxFormBuilder):
安裝步驟:http://sourceforge.net/projects/wxformbuilder/
可根據介面化工具生成對應的frame、button、lable、text等ui元件,並自動生成python指令碼
匯入pycharm內,補充對應的按鈕事件和方法,可簡化程式碼的編寫
五、wx主要元件
1、frame(視窗)
parent = None #父元素,假如為None,代表頂級視窗
id = None #元件的標識,唯一,假如id為-1代表系統分配id
title = None #視窗元件的名稱
pos = None #元件的位置,就是元件左上角點距離父元件或者桌面左和上的距離
size = None #元件的尺寸,寬高
style = None #元件的樣式
name = None #元件的名稱,也是用來標識元件的,但是用於傳值
2、TextCtrl(文字框)
parent = None #父元素,假如為None,代表頂級視窗
id = None #元件的標識,唯一,假如id為-1代表系統分配id
value = None #文字框當中的內容
GetValue #獲取文字框的值
SetValue #設定文字框的值
pos = None #元件的位置,就是元件左上角點距離父元件或者桌面左和上的距離
size = None #元件的尺寸,寬高
style = None #元件的樣式
validator = None #驗證
name = None #元件的名稱,也是用來標識元件的,但是用於傳值
3、Button(按鈕)
parent = None #父元素,假如為None,代表頂級視窗
id = None #元件的標識,唯一,假如id為-1代表系統分配id
lable = None #按鈕的標籤
pos = None #元件的位置,就是元件左上角點距離父元件或者桌面左和上的距離
size = None #元件的尺寸,寬高
style = None #元件的樣式
validator = None #驗證
name = None #元件的名稱,也是用來標識元件的,但是用於傳值
4、事件繫結
定義事件函式
def openfile(event):
path = path_text.GetValue()
with open(path,"r",encoding="utf-8") as f: #encoding 設定檔案開啟時指定為utf8編碼,避免寫檔案時出現編碼錯誤
content_text.SetValue(f.read())
繫結出發事件的條件和元件
open_button.Bind(wx.EVT_BUTTON,openfile)