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




沒有留言:

張貼留言

MQTT 協定與 Modbus 通訊的遠端監控與控制系統架構

MQTT 協定與 Modbus 通訊的遠端監控與控制系統架構 這張圖片展示了一個 結合 MQTT 協定與 Modbus 通訊的遠端監控與控制系統架構 (主要透過 Node-RED 進行資料整合)。 系統包含三個核心部分,其運作功能說明如下: 1. ESP32 終端設備(硬體控制層...