2022年12月11日 星期日

wxPython Hello

 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()




沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...