1. 程式人生 > >wxPython的入門示例

wxPython的入門示例

一 程式碼

# -*- coding: utf-8 -*-
###########################################################################
## Python code generated with wxFormBuilder (version Feb 16 2016)
## http://www.wxformbuilder.org/
##
## PLEASE DO "NOT" EDIT THIS FILE!
###########################################################################
import wx
import wx.xrc
###########################################################################
## Class MyFrame3
###########################################################################
#繼承wx.Frame類
class MyFrame3(wx.Frame):
    def __init__(self, parent,word='Success!'):
        '''
        parent:視窗的父類。如果“None”被選擇的物件是在頂層視窗。
        id:視窗標識。通常-1為了讓識別符號自動生成.
        title:標題出現在標題欄
        pos:Frame的開始位置。wxDefaultPosition是由作業系統決定.
        size:視窗的尺寸。 wxDefaultSize 是由作業系統決定
        style:視窗的外觀按樣式風格常數控制.
        參考:https://www.yiibai.com/wxpython/wx_frame_class.html

        '''
        wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString,
                          pos=wx.DefaultPosition,size=wx.Size(500, 300),
                          style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)
        #Window 類的方法
        self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize)
        '''
        佈局管理器,這裡表示控制元件垂直佈局
        參考:https://blog.csdn.net/igolang/article/details/9397175
        '''
        bSizer6 = wx.BoxSizer(wx.VERTICAL)
        '''
        wx.TextCtrl顯示文字和編輯的控制。
        建構函式引數同wx.Frame建構函式引數

        '''
        self.m_textCtrl4 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString,
                                       wx.DefaultPosition, wx.Size(500, 400),
                                       style=wx.TE_READONLY | wx.TE_MULTILINE)
        #將m_textCtrl4新增到佈局管理器中
        bSizer6.Add(self.m_textCtrl4, 0, wx.ALL, 5)
        #下面3個都是Windows類的方法
        self.SetSizer(bSizer6)
        self.Layout()
        self.Centre(wx.BOTH)
        #給控制元件設定顯示的值
        self.m_textCtrl4.SetValue('%s'%word)
    def __del__(self):
        pass
if __name__=='__main__':
    app=wx.App()
    window=MyFrame3(None)
    window.Show()
    app.MainLoop()

二 顯示