Skip to content

Instantly share code, notes, and snippets.

View ndonkoHenri's full-sized avatar
👾
Contributing to something new...

TheEthicalBoy ndonkoHenri

👾
Contributing to something new...
View GitHub Profile
@ndonkoHenri
ndonkoHenri / Dismissible.on_confirm_dismiss.py
Created January 16, 2024 00:57
An example of how to use Flet's Dismissible.on_confirm_dismiss event handler.
import flet as ft
def main(page):
page.window_height, page.window_width = 500, 400
def close_yes_dlg(e):
page.close_dialog()
dlg.data.confirm_dismiss(True)
@ndonkoHenri
ndonkoHenri / flet_captcha.py
Last active October 28, 2023 12:57
A class which shows how a captcha (image and audio) validation could be implemented in flet. Article:
import base64
import os
import random
import string
from pathlib import Path
from typing import Callable
import flet as ft
from captcha.audio import AudioCaptcha
from captcha.image import ImageCaptcha
@ndonkoHenri
ndonkoHenri / ex_size_aware.py
Created October 22, 2023 15:34
An example on how to use the SizeAwareControl.
from size_aware_control import SizeAwareControl
import flet as ft
def main(page: ft.Page):
def handle_resize(e: ft.canvas.CanvasResizeEvent):
"""
The handle_resize function is a callback function that will be called when
the control that triggered this event is resized (ex: through window resize).
The CanvasResizeEvent object has several useful attributes:
@ndonkoHenri
ndonkoHenri / size_aware_control.py
Last active October 22, 2023 15:35
Implementing a SizeAwareControl using the Flet canvas. It could be used to track the size of any Flet control.
import flet.canvas as cv
from collections import namedtuple
class SizeAwareControl(cv.Canvas):
def __init__(self, content= None, resize_interval=100, on_resize=None, **kwargs):
super().__init__(**kwargs)
self.content = content
self.resize_interval = resize_interval
self.resize_callback = on_resize
@ndonkoHenri
ndonkoHenri / full_screen_dialog.py
Last active October 14, 2023 21:07
Complete code for my article on "How To Build A Full-Screen Alert Dialog In Flet"
import flet as ft
def main(page: ft.Page):
# basic page settings/config
page.title = "FullScreen Dialog example"
page.horizontal_alignment = page.vertical_alignment = "center"
def handle_route_change(r: ft.RouteChangeEvent):
"""
@ndonkoHenri
ndonkoHenri / random-image-gen.py
Last active January 25, 2023 02:14
The full code to my blog post on how to build a Random Image Generator Flutter App with the flet python framework.
import flet as ft
import random
class ImageCard(ft.Card):
# normal elevation of this card (when not hovered)
NORMAL_ELEVATION = 3
# elevation of this card when hovered
HOVERED_ELEVATION = 7
@ndonkoHenri
ndonkoHenri / my-url-shortener.py
Last active December 6, 2022 12:52
Full code to Blog post on URL Shortener
import flet as ft
import pyshorteners # pip install pyshorteners
shortener = pyshorteners.Shortener()
class ShortLinkRow(ft.Row):
# a row containing the shortened url, and two buttons ('copy', and 'open in browser')
def __init__(self, shortened_link, link_source):
@ndonkoHenri
ndonkoHenri / flet-hello-world.py
Last active January 16, 2024 17:25
The full code for my blog post on Building a Markdown editor with Flet
import flet as ft
def main(page: ft.Page):
page.add(ft.Text(value="Hello, world!"))
ft.app(target=main) # add parameter view=ft.WEB_BROWSER to show the output in your browser!
@ndonkoHenri
ndonkoHenri / main.py
Created October 15, 2022 23:09
qr gen
import os
from flet import *
from flet import icons, colors
import pyqrcode
def main(page: Page):
page.title = "QRcode Generator"
page.theme_mode = "light"
page.window_always_on_top = True
@ndonkoHenri
ndonkoHenri / main.py
Created October 15, 2022 23:00
qr code gen
import os
from flet import *
from flet import icons, colors
import pyqrcode
def main(page: Page):
page.title = "QRcode Generator"
page.theme_mode = "light"