Skip to main content

fleter

PyPI - Python Version PyPI - Downloads PyPI - Downloads PyPI - Downloads PyPI - Wheel PyPI - Format PyPI - License

flet的扩展组件库,提供一些常用组件及功能。

自2.0版本起我们将不支持flet<0.4.0的版本

自3.0版本起我们将不支持flet<0.5.2的版本

ComboBox

用于简化Dropdown的开发过程,option可以使用列表设置,如["Hello", "World"]。

import flet
import fleter


def build(page: flet.Page):
    item = []
    for index in range(20):
        item.append(f"item{index}")
    page.add(fleter.ComboBox(options=item))
    page.update()

flet.app(target=build)

设置选项的状态

很简单,我们只要将选项设置为元组或列表即可。如($name, $disabled)即可

import flet
import fleter


def build(page: flet.Page):
    item = [
        "normal",  # 默认状态
        ("disabled", True),  # 失效状态
        ("active", False),  # 激活状态
    ]
    page.add(fleter.ComboBox(options=item))
    page.update()

flet.app(target=build)

Editor

文本编辑器。

import flet
import fleter


def build(page: flet.Page):
    editor = fleter.Editor()
    
    page.add(editor)
    page.add(fleter.ComboBox(options=item))
    page.update()

flet.app(target=build)

HeaderBar

用于快速设置窗口标题栏。

常规

import flet
import fleter


def build(page: flet.Page):
    titlebar = fleter.HeaderBar(page, title="Hello World")
    page.add(
        titlebar
    )
    page.update()

flet.app(target=build)

标题栏靠左-切换主题按钮

import flet
import fleter


def build(page: flet.Page):
    titlebar = fleter.HeaderBar(page, title="Hello World", title_align="left")
    titlebar.controls.insert(1, fleter.SwichThemeButton(page))
    page.add(
        titlebar
    )
    page.update()

flet.app(target=build)

获取标题栏里面的关闭按钮

可以在组件中找到close_button的属性,并对其进行设置。(前提是设置has_close属性为True)

import flet
import fleter


def build(page: flet.Page):
    titlebar = fleter.HeaderBar(page)
    print(titlebar.close_button)
    page.add(
        titlebar
    )
    page.update()

flet.app(target=build)

设置是否有关闭按钮

我们知道HeaderBar初始化时有个has_close的属性,如果需要在后面设置是否有关闭按钮时,就可以调用has_close属性进行设置

import flet
import fleter


def build(page: flet.Page):
    titlebar = fleter.HeaderBar(page)
    titlebar.close_button = False  # True保留关闭按钮,False不保留关闭按钮
    page.add(
        titlebar
    )
    page.update()

flet.app(target=build)

NoteBook

用于快速制作选项卡。

常规

import flet
import fleter

def main(page: flet.Page):
    notebook = fleter.NoteBook()
    for item in range(10):
        notebook.add(notebook.create(f"Item {item+1}", flet.Text(value=f"I`m item {item + 1}")))
    page.add(
        notebook
    )
    page.update()

flet.app(target=main)

选项可关闭

import flet
import fleter

def main(page: flet.Page):
    notebook = fleter.NoteBook()
    for item in range(10):
        notebook.add(notebook.create_with_can_close(f"Item {item+1}", flet.Text(value=f"I`m item {item + 1}")))
    page.add(
        notebook
    )
    page.update()

flet.app(target=main)

选项卡关闭提示

import flet
import fleter

def main(page: flet.Page):
    notebook = fleter.NoteBook()
    for item in range(10):
        notebook.add(notebook.create_with_can_close(f"Item {item+1}", flet.Text(value=f"I`m item {item + 1}"), close_tip=True))
    page.add(
        notebook
    )
    page.update()

flet.app(target=main)

SwichThemeButton

用于快速切换窗口主题的图标按钮组件。

常规

import flet
import fleter

def main(page: flet.Page):
    swich_theme_button = fleter.SwitchThemeButton(page)
    page.add(
        swich_theme_button
    )
    page.update()

flet.app(target=main)

无系统主题选项

import flet
import fleter

def main(page: flet.Page):
    swich_theme_button = fleter.SwichThemeButton(page, has_system=False)
    page.add(
        swich_theme_button
    )
    page.update()

flet.app(target=main)

SwitchThemePopupMenuItem

用于快速切换窗口主题的图标弹窗菜单组件。

常规

import flet
import fleter

def main(page: flet.Page):
    page.add(
        flet.PopupMenuButton(
            items=[
                fleter.SwitchThemePopupMenuItem(page)
            ]
        )
    )
    page.update()

flet.app(target=main)

SpinBox

进步器,用于调整整数或浮点数的数值

import flet
import fleter

def main(page: flet.Page):
    page.add(
        fleter.SpinBox()
    )
    page.update()

flet.app(target=main)

浮点数步进器

import flet
import fleter

def main(page: flet.Page):
    page.add(
        fleter.SpinBox(plus=0.1, minus=0.1)
    )
    page.update()

flet.app(target=main)

最大值与最小值

设置步进器可设置的最大值。

import flet
import fleter

def main(page: flet.Page):
    page.add(
        fleter.SphinBox(max_value=5, min_value=-5)
    )
    page.update()

flet.app(target=main)

Time

使用threading库做出来的记时工具。

import flet
import fleter

def main(page: flet.Page):

    def tick(id, tick_time):
        print(f"{id} {tick_time}")

    time = fleter.Time(tick)
    time.start("time", 10)

    page.update()

flet.app(target=main)

Metadata

Release files for fleter 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fleter 0.3.0
File Size Uploaded Provenance
fleter-0.3.0.tar.gz 12.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for fleter 0.3.0
File Interpreter ABI Platform
fleter-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.5 kB

Release files / fleter-0.3.0.tar.gz

Download URL fleter-0.3.0.tar.gz
Size 12.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e543c33a1902830bcfee31b1e3ec999a3f2d45d58350983e09b3518350ff2621
BLAKE2b-256 checksum
How to use checksums
0ce0a8dcf96096628157c63980f1e40d0916b60184f88706bd3d66c0dece4f80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.16

Release files / fleter-0.3.0-py3-none-any.whl

Download URL fleter-0.3.0-py3-none-any.whl
Size 12.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
64dcc3108f88626bd4d375f1f64db8031b0fcd4831b94416fc651a0ae5b3f054
BLAKE2b-256 checksum
How to use checksums
89bbd16318e95f4cc00f3476783953ef4c8833ee27f034985c50f4d4f6a497b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.16

Security for fleter 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page