尝试 运行 MacOS 上的 Kivy 应用程序,但在 运行 时出现黑屏

Trying to Run Kivy Application on MacOS, but getting black screen when run

我一直在尝试 运行 我的 Mac 上的 kivy 应用程序,但是当我 运行 时,我得到的只是黑屏。我已尝试尽我所能,但我就是无法让它发挥作用。我也试过手动加载kv文件,但还是不行。

这是我的 Python 代码:

import kivy
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
import random


kivy.require('2.0.0') 

class MyRoot(BoxLayout):
    def __init__(self):
        super().__init__()

    def generate_number(self):
        self.random_label.text = str(random.randint(0, 1000))

class Test(App):

    def build(self):
        return MyRoot()

Test = Test()
Test.run()

这是我的 KV 文件:

<MyRoot>:

    random_label: random_label
    
    BoxLayout:
        orientation: 'vertical'
        Label:
            text: 'Random'
            font_size: 64
            color: 0.92, 0.45, 0
        Label:
            id: random_label
            text: '-'
            font_size: 64

        Button:
            text: 'Generate'
            font_size: 32
            size: 100, 50
            on_press: root.generate_number()

我将大胆猜测您的 kivy 文件命名不正确。根据 Kivy documentation,

By name convention:

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:

MyApp -> my.kv

我把kivy脚本和python脚本放在同一个目录下,并将kivy脚本命名为test.kv。文件结构如下所示:

.
├── main.py
└── test.kv

它生成一个带有一些文本和按钮的 window。

告诉我它是否解决了您的问题。

我发现问题出在 python 版本上,我 运行 使用 Python 3.10 而不是 3.9,现在可以正常工作了。