Curious George sees the world
 
Flet – Temperature_conversion

Flet – Temperature_conversion

溫度轉換的例子我們會用到

  • 一個 TextField : temp_input 使用者在這裡輸入想要轉換的溫度
  • 一個 RadioGroup: radio_group 裡面放 2 個 Radio 提供「攝氏轉華氏」與「華氏轉攝氏」兩個選項
  • 一個 Button : convert_button 點擊後觸發 convert 函式進行轉換
  • 一個 Text : result_text 轉換後的結果會顯示在這裡

轉換的部份程式可參考:溫度轉換

程式的範例:


# Flet temperature conversion
# 2024-08-20
# https://github.com/lcc728/flet/blob/main/ex_temperature_conversion.py

import flet as ft

def main(page: ft.Page):
    page.title = "溫度轉換 Temperature Converter"
    

    def convert(e):
        try:
            if temp_input.value:
                temp = float(temp_input.value)
                if radio_group.value == "c2f":
                    result = (temp * 9/5) + 32
                    result_text.value = f"{temp}°C = {result:.2f}°F"
                else:
                    result = (temp - 32) * 5/9
                    result_text.value = f"{temp}°F = {result:.2f}°C"
                temp_input.value =''
                page.update()
        except ValueError:
            result_text.value = "請輸入數字 !!!"
            temp_input.value =''
            page.update()

    temp_input = ft.TextField(label="請輸入溫度")
    radio_group = ft.RadioGroup(
        content=ft.Column([
            ft.Radio(value="c2f", label="攝氏 -> 華式"),
            ft.Radio(value="f2c", label="華氏 -> 攝式")
        ]),
        value="c2f"
    )
    convert_button = ft.ElevatedButton("轉換", on_click=convert)
    result_text = ft.Text('', size=30, color="red")

    page.add(
        ft.Column(
            [
                temp_input,
                radio_group,
                convert_button,
                result_text
            ],
            
            spacing=20
        )
    )

ft.app(target=main)

執行結果:

Flet 溫度轉換執行結果

Source Code: https://github.com/lcc728/flet/blob/main/ex_temperature_conversion.py

發表迴響