如何在Flet中使用自己的图标

问题描述 投票:0回答:2

我找不到如何在 Flet 中加载我自己的图标。

我正在测试 Flet 的目的是制作一个桌面应用程序(纯桌面,不需要互联网),但我无法使用自己的图标开始。我只能使用 ft.icons 中的图标,但我宁愿使用自己的图标,从类似于 /assets/icons 的文件夹中加载它们。我可以这样做吗?怎么办?

谢谢。

icons load assets flet
2个回答
2
投票

目前,我没有找到这样做的方法;但是,您可以使用

Image
类来代替。

我建议您在主项目文件夹下创建一个资产文件夹。

假设您的项目具有以下文件夹结构:

/assets
   /icons/my-icon.png
main.py

当您运行应用程序时,您应该通过以下方式将该文件夹提供给初始化程序:

flet.app(target=YourApp(), assets_dir="assets")

然后您可以直接在那里访问您的图像并通过以下方式创建一个 Image 实例:

test_image = flet.Image(src="icons/my-icon.png", width=32, height=32, tooltip="Image Tooltip")

您可以将这些图像控件嵌套在您想要的任何内容中,因此您有很大的灵活性。

这样做的唯一缺点是如果您在应用程序上使用浅色/深色主题。与

Icon
类相比,您必须自己指定浅色/深色主题版本,并在切换主题时手动更新它们。

这里是官方文档


0
投票

你可以使用这样的东西

            TextButton(content=Row([Image(src="img/wtsp.png", height=24, width=24),  # Custom image for WhatsApp
                    Text("WhatsApp")  # Text label for the button
                ]),on_click=lambda _: page.launch_url(f"https://wa.me/{phone_number}"),),

© www.soinside.com 2019 - 2024. All rights reserved.