wxPython Hello
import random
import wx
def main():
app = wx.App()
frame = wx.Frame(
parent=None,
id=wx.ID_ANY,
title='Hello'
)
frame.Show()
# 產生字型設定
font = wx.Font(wx.FontInfo(10).FaceName('Consolas'))
# 建立文字元件
label = wx.StaticText(
parent=frame,
label='People',
pos=wx.Point(10, 13),
size=wx.Size(50, 20)
)
# 套用字型
label.SetFont(font)
# 產生按鈕元件
button = wx.Button(
parent=frame,
id=wx.ID_ANY,
label='Say',
pos=wx.Point(70, 10),
size=wx.Size(100, 22)
)
# 套用字型
button.SetFont(font)
button.SetBackgroundColour((255, 230, 200, 255))
# 綁定按鈕點擊事件
button.Bind(wx.EVT_BUTTON, lambda _: input.SetValue(f'Hello {random.randint(10,100)}'))
# 產生輸入元件
input = wx.TextCtrl(
parent=frame,
id=wx.ID_ANY,
value='Hello',
pos=wx.Point(180, 10),
size=wx.Size(100, 22)
)
# 套用字型
input.SetFont(font)
# 綁定文字變動事件
input.Bind(wx.EVT_TEXT, lambda e: textarea.AppendText(f'text changed: {input.GetValue()}\n'))
# 產生輸入元件
textarea = wx.TextCtrl(
parent=frame,
id=wx.ID_ANY,
style=wx.TE_MULTILINE,
pos=wx.Point(10, 40),
size=wx.Size(270, 150)
)
# 套用字型
textarea.SetFont(font)
# 設為唯讀
textarea.SetEditable(False)
app.MainLoop()
if __name__ == '__main__':
main()
沒有留言:
張貼留言