是否可以使用Python为iOS和Android编写跨平台应用程序
我知道在Python中构建跨平台的唯一方法是Kivy,但我最近听说过Beeware项目和这个名为Toga的工具.据我所知,它仍处于早期阶段,很多人也不熟悉它,但网站上有一些基本的教程.它看起来非常有前途,但我不知道它的未来以及我可能会遇到的问题,如果我开始研究它,因为它可能有很多错误.我读过Toga允许您构建原生跨平台应用程序的文档,Kivy应用程序不是原生的吗?他们喜欢混合应用程序,就像你在Phonegap上构建的应用程序一样?谢谢
我们正在升级使用BeeWare 的公文包 0.3.1进行打包,它使用pyproject.toml
而不是setup.py
指定如何打包,包括要在包中包含哪些依赖项。
这是一个pyproject.toml
for公文包的最小示例:
[tool.briefcase.app.exampleapp]
formal_name = "exampleapp"
description = "something"
requires = ['PyQt5', 'qtconsole']
sources = ['exampleapp']
Run Code Online (Sandbox Code Playgroud)
我们想访问来自 的需求列表setup.py
,因此我们不必在两个文件中复制它,并使它们保持同步。我们还没有准备好离开setuptools,这仅用于打包。替代方案当然是让setup.py
自动生成pyproject.toml
文件,但这似乎与PEP 518的意图有点背道而驰。
我想在我正在Beeware上开发的 Android 应用程序中使用破折号交互式图表。如何将 Dash Plotly 与 Beeware 结合使用?
我正在尝试使用 Beeware 创建一个跨平台应用程序,一开始我显示两个按钮供用户选择他想要进入的视图,因此一旦单击按钮,主窗口应该更新其内容并显示视图用户选择的。
这是应用程序启动时的主窗口:
单击“第一个视图”后,第一个视图的内容将添加到开始内容后面,如下所示:
预期的行为是主窗口删除按钮并仅显示文本,第二个视图按钮也应该发生同样的情况。
这是代码:
import toga
from toga.style import Pack
from toga.style.pack import COLUMN, ROW
class exampleApp(toga.App):
def startup(self):
"""
Construct and show the Toga application.
Usually, you would add your application to a main content box.
We then create a main window (with a name matching the app), and
show the main window.
"""
main_box = toga.Box(style=Pack(direction=COLUMN))
###
# Main Screen
first_view = toga.Button('First View', on_press=self.first_view, style=Pack(padding=2))
second_view = toga.Button('Second View', on_press=self.second_view, style=Pack(padding=2))
home_box = toga.Box(style=Pack(direction=ROW, …
Run Code Online (Sandbox Code Playgroud)