在Windows中使用Kivy代码但在linux环境中使用空白屏幕

时间:2017-03-03 22:51:15

标签: android python-2.7 kivy kivy-language

我正在尝试进行一些跨平台测试。这是Windows的工作代码:

main.py

#!/usr/bin/kivy
import kivy
kivy.require('1.0.6')

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder

class MatrixCalcLayout(BoxLayout):
    pass

class ConfusionMatrixCalc_v3App(App):
    def build(self):
        return MatrixCalcLayout()

if __name__=='__main__':
    ConfusionMatrixCalc_v3App().run()

ConfusionMatrixCalc_v3.kv

#:kivy 1.0
#:import kivy kivy

<MatrixCalcLayout>:
    orientation: 'vertical'
    BoxLayout:
        Button:
    BoxLayout:
        Button:
    BoxLayout:
        Button:

当我尝试在Ubuntu上运行它时,它会加载并显示kivy画布,但它只是一个空白(黑色)屏幕,就像它没有链接到.k​​v文件一样。

已编辑:已更正.kv文件名

2 个答案:

答案 0 :(得分:1)

您需要使用Builder加载kv文件:

Builder.load_file("ConfusionMatrixCalc.kv")

或者将您的App类名称从ConfusionMatrixCalc_v3App更改为ConfusionMatrixCalcApp

答案 1 :(得分:1)

根据kivy docs

  

Kivy以小写字母查找与App类同名的Kv文件,如果以“App”结尾,则为“App”,例如:

您可以将.kv文件更改为confusionmatrixcalc_v3.kv,或在调用run()时明确提供

if __name__=='__main__':
    ConfusionMatrixCalc_v3App(kv_file="ConfusionMatrixCalc.kv").run()