FLET KUTUBXONASI
September 10
flet 1-dars
import flet as ft
def main(page: ft.Page):
page.title = "Flet counter example"
page.vertical_alignment = ft.MainAxisAlignment.CENTER
txt_number = ft.TextField(value="0", text_align=ft.TextAlign.RIGHT, width=100)
def minus_click(e):
txt_number.value = str(int(txt_number.value) - 1)
page.update()
def plus_click(e):
txt_number.value = str(int(txt_number.value) + 1)
page.update()
page.add(
ft.Row(
[
ft.IconButton(ft.Icons.REMOVE, on_click=minus_click),
txt_number,
ft.IconButton(ft.Icons.ADD, on_click=plus_click),
],
alignment=ft.MainAxisAlignment.CENTER,
)
)
ft.app(main)📌 DASTURNI BOSHI:
import flet as ft
Bu qatorda flet kutubxonasi ft qisqartmasi bilan import qilinmoqda. Flet — bu Python yordamida foydalanuvchi interfeyslarini (UI) yaratish imkonini beruvchi kutubxona.
📌 ASOSIY FUNKSIYA:
def main(page: ft.Page):
Bu main funksiyasi — ilovaning asosiy logikasi. page — bu ilovaning sahifasi bo‘lib, unga UI komponentlar qo‘shiladi.
📌 SAHIFA SOZLAMALARI:
page.title = "Flet counter example"
page.vertical_alignment = ft.MainAxisAlignment.CENTER
title: Brauzer yoki ilova oynasi sarlavhasi.vertical_alignment: Sahifadagi barcha komponentlar vertikal (ustun bo‘ylab) markazda joylashadi.
📌 RAQAM MAYDONI:
txt_number = ft.TextField(value="0", text_align=ft.TextAlign.RIGHT, width=100)
Bu yerda raqam ko‘rsatiladigan maydon yaratilmoqda:
value="0": Dastlabki raqam0.text_align=ft.TextAlign.RIGHT: Raqam o‘ng tomonga tekislanadi.width=100: Maydon eni 100 piksel.
📌 KAMAYTIRISH TUGMASI:
def minus_click(e):
txt_number.value = str(int(txt_number.value) - 1)
page.update()
minus_click:-tugmasi bosilganda ishlaydigan funksiya.int(txt_number.value) - 1: Raqamni 1 ga kamaytiradi.page.update(): O‘zgarishlarni sahifada yangilaydi.
📌 OSHIRISH TUGMASI:
def plus_click(e):
txt_number.value = str(int(txt_number.value) + 1)
page.update()
📌 UI KOMPONENTLARNI SAHIFAGA QO‘SHISH:
page.add(
ft.Row(
[
ft.IconButton(ft.Icons.REMOVE, on_click=minus_click),
txt_number,
ft.IconButton(ft.Icons.ADD, on_click=plus_click),
],
alignment=ft.MainAxisAlignment.CENTER,
)
)
Bu yerda Row (qatorda) 3 ta komponent joylashtirilgan:
IconButton(minus tugmasi) —ft.Icons.REMOVETextField— raqamni ko‘rsatadiIconButton(plus tugmasi) —ft.Icons.ADD
alignment=ft.MainAxisAlignment.CENTER — ularni gorizontal ravishda markazda joylashtiradi.
📌 ILOVANI ISHGA TUSHIRISH:
ft.app(main)
Bu funksiya main funksiyasini ishga tushuradi va ilovani boshlaydi.