我可以使用HTML和CSS在Kivy和Python3中吗?

6
我目前正在使用Python 3.52在Linux上开发一个嵌入式多点触控Kivy程序。Kivy是不错的,但我发现GUI开发在某些方面相当困难,并且动画通常会很卡顿。
另外,我发现如果将许多小部件放在单个页面中,程序会变得非常慢。我的程序包含许多小部件,因此我也在考虑实现Webview可能有所帮助。
因此,我正在寻找特定屏幕的HTML和CSS视图,以获得更好的外观和感觉(也许通过使用转换来改进动画?)。
我找到了Cefpython,但它说它只适用于Python 2.7并且不稳定。而且似乎它只是从互联网获取URL而不是从文件系统获取HTML和CSS。(如果我错了请纠正我。)
实际上,我甚至不需要一个浏览器功能,我所需要的就是为几个屏幕开发UI/UX的HTML和CSS。
我的嵌入式系统并不总是支持互联网(这意味着它应该可以在没有互联网的情况下工作)。因此,我不能在其中放置任何URL。再次强调,我只是想用它们进行样式设计。有什么好方法吗?或者没有我想要的东西吗?
还是有其他推荐吗?

你可以用和浏览器相同的方式在 CEF 中加载离线文件。当你在 Google Chrome 中加载本地的 HTML 文件时,你会看到 URL 是 file:///path/to/file.html。在 CEF 中使用相同的 URL 来加载内容。 - Czarek Tomczak
1个回答

1
不,除非你愿意实现html和css解析器以及web渲染器。我认为最好找出你在使用kivy时遇到困难的原因,并想办法解决。我还没有找到一个UI/布局/模板比使用kivy更容易的Web技术,但我在kivy方面更加熟练,所以可能有偏见。

我的一个问题是,如果我在一个屏幕上放置许多具有复杂布局的小部件,它会变得非常缓慢。特别是弹出窗口。我创建了类似虚拟键盘的东西,在屏幕上有许多按钮和图像。但是我觉得这种方式的用户体验真的很糟糕,因为按钮响应不太好,经常忽略触摸。所以我想也许这些屏幕可以用webview替换。此外,我发现html css更舒适,因为当我遇到Kivy的问题时,有时需要花费很长时间来解决它。但是html css真的很容易处理。 - HumbleCoder
另外,如果我能在Kivy中嵌入一个Webview,我也可以重复使用网页及其外观,而不必在kivy中构建另一个屏幕。 - HumbleCoder
1
过多的小部件可能会导致性能问题,可以通过延迟加载和/或回收解决(长列表应始终使用RecycleView),并确保不会创建触发不必要的绑定,特别是当屏幕不可见时(您可以使用on_enter和on_leave启用/禁用诸如动画之类的内容)。但这是一个太泛泛的问题,如果您展示一些您认为应该快速但却很慢的具体代码,尤其是易于运行供其他人分析,那么更容易帮助看到不良模式并提供替代方案。 - Tshirtman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接