【发布时间】:2018-03-18 20:57:12
【问题描述】:
我刚开始学习 Kivy(一般来说是一种移动应用开发),创建这个应用只是为了说明我最大的问题。
应用应该显示一个椭圆和一个标签“上面应该有一个椭圆”。
main.py 文件:
#qpy:kivy
import kivy
kivy.require('1.10.0')
from kivy.app import App
from kivy.uix.widget import Widget
class Test(Widget):
pass
class TestApp(App):
def build(self):
return Test()
if __name__ == '__main__':
TestApp().run()
test.kv 文件:
#:kivy 1.10.0
<Test>:
canvas:
Ellipse:
pos: 0, root.height / 2
size: 500, 200
Label:
font_size: 80
center_x: root.width / 2
center_y: root.height / 4
text: "There should be an ellipse above"
在 Ubuntu 中,这可以完美运行,但在 Qpython 和 Android 中,我在手机屏幕上看到:https://drive.google.com/file/d/1lbCfbvbm96lBG1VXdEMRuEU2ApD8jA4c/view
椭圆用文本“上面应该有一个椭圆”填充并拉伸以适应“椭圆”的形状。如果我删除标签,“椭圆”也会消失。每个画布项目都会出现同样的问题。
编辑:以非常不切实际的方式解决了这个问题。如果我创建一个只包含我想要的颜色的 .jpg 文件,将它保存在与 main 和 kv 文件相同的文件夹中,然后在“Ellipse:”行下方键入它,它就可以工作。但一定有更好的解决方案吧?
source: 'white.jpg'
【问题讨论】:
标签: android python canvas kivy qpython