在 Windows 中使用 Kivy 代码,但在 linux 环境中显示空白

Working Kivy codes in Windows but blank screen on linux environment

我正在尝试进行一些跨平台测试。这是 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 canvas,但它只是一个空白(黑色)屏幕,好像它没有t link 到 .kv 文件。

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

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

Builder.load_file("ConfusionMatrixCalc.kv")

或者将您的应用 class 名称从 ConfusionMatrixCalc_v3App 更改为 ConfusionMatrixCalcApp

根据 kivy docs:

Kivy looks for a Kv file with the same name as your App class in lowercase, minus “App” if it ends with ‘App’ e.g:

您可以将 .kv 文件更改为 confusionmatrixcalc_v3.kv 或在调用 run()

时明确提供
if __name__=='__main__':
    ConfusionMatrixCalc_v3App(kv_file="ConfusionMatrixCalc.kv").run()