- wxPython 教程
- wxPython - 首頁
- wxPython - 簡介
- wxPython - 環境
- wxPython - Hello World
- wxPython - GUI 構建工具
- wxPython - 主要類
- wxPython - 事件處理
- wxPython - 佈局管理
- wxPython - 按鈕
- wxPython - 可停靠視窗
- 多文件介面
- wxPython - 繪圖 API
- wxPython - 拖放
- wxPython 資源
- wxPython - 快速指南
- wxPython - 有用資源
- wxPython - 討論
wxPython - GUI 構建工具
透過手動編碼建立美觀的 GUI 可能很繁瑣。一個視覺化的 GUI 設計器工具總是很方便。許多針對 wxPython 的 GUI 開發 IDE 可供使用。以下是一些:
- wxFormBuilder
- wxDesigner
- wxGlade
- BoaConstructor
- gui2py
wxFormBuilder 是一個開源的、跨平臺的所見即所得 GUI 構建器,可以將 wxWidgets GUI 設計轉換為 C++、Python、PHP 或 XML 格式。這裡簡要介紹了 wxFormBuilder 的使用方法。
首先,需要從 http://sourceforge.net/projects/wxformbuilder/ 下載並安裝最新版本的 wxFormBuilder。開啟應用程式後,中心會出現一個帶有空白灰色區域的新專案。
為專案指定一個合適的名稱,並選擇 Python 作為程式碼生成語言。這在物件屬性視窗中完成,如下面的影像所示:
然後從元件面板的“窗體”選項卡中選擇“框架”。
從“佈局”選項卡中新增一個垂直 wxBoxSizer。
在框中新增必要的控制元件,並使用合適的標題。這裡,添加了一個 StaticText(標籤)、兩個 TextCtrl 物件(文字框)和一個 wxButton 物件。框架如下面的影像所示:
為這三個控制元件啟用“擴充套件”和“拉伸”。在 wxButton 物件的物件屬性中,為 OnButtonClick 事件分配函式 findsquare()。
儲存專案並按 F8 生成已開發 GUI 的 Python 程式碼。將生成的程式碼檔案命名為 Demo.py
在可執行的 Python 指令碼中,匯入 demo.py 並定義 FindSquare() 函式。宣告 Application 物件並啟動一個主事件迴圈。以下是可執行程式碼:
import wx
#import the newly created GUI file
import demo
class CalcFrame(demo.MyFrame1):
def __init__(self,parent):
demo.MyFrame1.__init__(self,parent)
def FindSquare(self,event):
num = int(self.m_textCtrl1.GetValue())
self.m_textCtrl2.SetValue (str(num*num))
app = wx.App(False)
frame = CalcFrame(None)
frame.Show(True)
#start the applications
app.MainLoop()
以上程式碼產生以下輸出:
廣告