如何将 Python 文件中的函数导入 Kivy 文件?
Posted
技术标签:
【中文标题】如何将 Python 文件中的函数导入 Kivy 文件?【英文标题】:How to import a function from a Python file into a Kivy file? 【发布时间】:2021-08-23 16:02:47 【问题描述】:我的 main.py python 文件中有一个名为 resource_path 的函数,如下所示:
def resource_path(relative_path):
try:
base_path = sys._MEIPASS
except Exception:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)
我想在我的 main.kv 文件中使用这个函数,比如使用下面的命令来调用图像:
<ImageScreen>
MDBoxLayout:
id: logo_box
adaptive_height: True
orientation: "vertical"
Image:
source: resource_path("CoinSnack_Logo.png")
所以,我尝试在 main.kv 文件中使用以下代码导入函数:
#:import resource_path main.resource_path
当我在我的 Python 项目中运行 main.py 时,一切正常。但是当我运行我从项目编译的 .exe 文件时,我收到以下错误:
1:#:import toast kivymd.toast.toast
>> 2:#:import resource_path main.resource_path
3:
4:#creating the screen manager for multiple screens
...
Unable to import package 'main.resource_path'
[12132] Failed to execute script main
如果有人能帮我解决这个问题或告诉我如何将 Python 文件的函数导入 Kivy 文件,我将不胜感激。
非常感谢!
【问题讨论】:
【参考方案1】:试试:
source: root.resource_path("CoinSnack_Logo.png")
如果这不起作用,请尝试:
source: app.resource_path("CoinSnack_Logo.png")
也删除
#:import resource_path main.resource_path
我相信这会奏效
【讨论】:
这对我不起作用....以上是关于如何将 Python 文件中的函数导入 Kivy 文件?的主要内容,如果未能解决你的问题,请参考以下文章