【问题标题】:Simple Kivy App that is deployed and has no errors, but when opened has a black screen已部署且没有错误但打开时黑屏的简单 Kivy 应用程序
【发布时间】:2021-08-21 23:42:29
【问题描述】:

我在 Kivy 中创建了一个简单的应用程序。当我调试和部署应用程序时,一切都很好,没有错误,但是当我在手机上下载文件并打开它时。没发生什么事。 https://github.com/r0me777/AnimalNoisesApp.gitGithub 请帮忙。

Python 文件:

import kivy
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.anchorlayout import AnchorLayout
from kivy.uix.stacklayout import StackLayout
from kivy.uix.gridlayout import GridLayout
from kivy.metrics import dp
from kivy.core.audio import SoundLoader


class AppLayout(GridLayout):
    def play_music(self, MusicName):
        music = SoundLoader.load(MusicName)

        if music:
            music.play()


class ButtonApp(App):
    pass


if __name__ == "__main__":
    ButtonApp().run()

Kv 文件:

AppLayout:

<AppLayout>:
    cols:2
    rows:2
    Label:

        text: "Press the Animals!!"
        size: self.texture_size

    GridLayout:
        cols: 1
        Button:
            id: Bee
            background_normal: "bee.png"
            on_release: root.play_music("BeeNoise.mp3")
        Button:
            id: Bird
            background_normal: "bird.png"
            on_release: root.play_music("BirdNoise.mp3")
    #    Button:
    #        background_normal: "cow.png"
    #        on_release: root.play_music("BeeNoise.mp3")
    #    Button:
    #        background_normal: "dog.png"
    #        on_release: root.play_music("BeeNoise.mp3")

    GridLayout:
        cols: 1
        Button:
            id: Elephant
            background_normal: "elephant.png"
            on_release: root.play_music("ElephantNoise.mp3")
        Button:
            id: Frog
            background_normal: "frog.png"
            on_release: root.play_music("FrogNoise.mp3")
      #  Button:
      #      background_normal: "horse.png"
      #      on_release: root.play_music("BeeNoise.mp3")
      #  Button:
      #      background_normal: "koala.png"
      #      on_release: root.play_music("BeeNoise.mp3")
    GridLayout:
        cols: 1
        Button:
            id: Lion
            background_normal: "lion.png"
            on_release: root.play_music("LionNoise.mp3")
        Button:
            id: Seal
            background_normal: "walrus.png"
            on_release: root.play_music("SealNoise.mp3")
    #    Button:
    #        background_normal: "bird.png"
    #        on_release: root.play_music("BeeNoise.mp3")
    #    Button:
    #        background_normal: "bird.png"
    #        on_release: root.play_music("BeeNoise.mp3")

都很简单,当我推土机时没有错误。我不知道是什么原因造成的。

【问题讨论】:

  • 也许你忘了ButtonApp class中的def build(self): return AppLayout()?
  • Button.kv 应命名为 button.kv(小写)。
  • 奇怪,我在电脑上运行它的时候把它大写了,没有问题,我会改变它。我很欣赏这个建议。 @约翰安德森
  • 也许吧,但我没有使用过那个构建(self),它在我的电脑上仍然可以正常工作,但我会尝试一下。感谢@PaulLam 的建议
  • 我认为从 button.kv 更改 Button.kv 有效,它现在显示在我的屏幕上。有些东西不像音频那样工作,但更近了一步,谢谢约翰! @约翰安德森

标签: python android kivy kivy-language


【解决方案1】:

我将 .kv 文件从 Button.kv 更改为 button.kv。虽然出现了音频问题,因为我无法从应用程序中听到任何声音,但它使显示器正常工作,所以我的问题基本上得到了解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    相关资源
    最近更新 更多