【发布时间】:2022-12-29 07:38:55
【问题描述】:
我找不到如何在 Flet 中加载我自己的图标。
我正在测试 Flet,目的是制作一个桌面应用程序(纯桌面,不需要互联网),但我无法开始使用自己的图标。我只能使用 ft.icons 中的那些,但我更愿意通过从类似于 /assets/icons 的文件夹加载它们来使用我自己的。我可以这样做吗?如何?
谢谢。
【问题讨论】:
我找不到如何在 Flet 中加载我自己的图标。
我正在测试 Flet,目的是制作一个桌面应用程序(纯桌面,不需要互联网),但我无法开始使用自己的图标。我只能使用 ft.icons 中的那些,但我更愿意通过从类似于 /assets/icons 的文件夹加载它们来使用我自己的。我可以这样做吗?如何?
谢谢。
【问题讨论】:
目前,我没有看到这样做的方法;但是,您可以改用 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")
您可以将这些 Image 控件嵌套在任何您想要的内容中,因此您有很大的灵活性。
这样做的唯一缺点是如果您在应用程序上使用浅色/深色主题。与 Icon 类相比,您必须自己指定浅色/深色主题版本,并在切换主题时手动更新它们。
【讨论】: