如何在Python3中使用Kivy绘制一条简单的线和一个矩形?

时间:2019-02-04 20:40:05

标签: python python-3.x kivy

我只是想让程序使用Kivy在窗口中绘制一条线和一个矩形。位置和属性暂时不重要。

我是Python的新手,也是Kivy的新手,而且我以前从未使用过GUI。我尝试在多个网站上搜索,但似乎没有一个解决我的问题的方法。

import kivy
kivy.require('1.10.1')
from kivy.app import App
from kivy.uix.button import Label

class KivyTest(App):
    self.pos = 12
    self.size = 6

    def build(self):
        with self.canvas:
            Line(points=(0, 1, 2, 3, 4, 5))
            Color(1, 0, 0, .5, mode='rgba')
            Rectangle(pos=self.pos, size=self.size)

KivyTest = KivyTest()
KivyTest.run()

我希望12是矩形的位置,而6是其大小,但是会打印出错误消息“未定义名称'self'”。显然有些关键我不明白。我也很喜欢,如果有某种方式可以使用.kv文件来解决我的问题,那么我只会使用.py文件,因为.kv也不适合我。

1 个答案:

答案 0 :(得分:0)

在定义的第一行中

class KivyTest(App):
    self.pos = 12
    self.size = 6

self在那里不存在;为了初始化这些值,您必须执行以下操作:

class KivyTest(App):
    def __init__(self):
        self.pos = 12
        self.size = 6