wxPython使用指導

Mrwhite86發表於2021-06-03

一、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)

 

相關文章