Я пытаюсь сделать карточную игру с Python и Киви и не могу заставить карту отображаться. Пока что ChaseTheAce.deal выбирает случайную карту и удаляет ее из колоды. Я не могу понять, как передать строку из карточки dict в изображение в файле KV. Я новичок в Kivy и у меня проблемы с идентификаторами и информацией, которая совпадает с информацией из файла PY. Спасибо за любую помощь, спасибо!
Файл PY
import kivy
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.image import Image
from kivy.uix.widget import Widget
from kivy.properties import StringProperty
import random
import numpy as np
cards = ['ace_spades', 'king_spades']
dict = {'ace_spades':'ace_of_spades.png', 'king_spades':'king_of_spades2.png'}
class LoginScreen(Screen):
pass
class GameScreen(Screen):
pass
class ScoreScreen(Screen):
pass
class WindowManager(ScreenManager):
pass
class ChaseTheAce(App):
cardimagefile = StringProperty()
def deal(self):
mycard = random.choice(cards)
cards.remove(mycard)
cardimagefile = (dict[mycard])
def build(self):
return kv
kv = Builder.load_file("cta1.kv")
if __name__ == "__main__":
ChaseTheAce().run()
Файл KV
<GameScreen>:
ChaseTheAce:ChaseTheAce
name: "GameScreen"
GridLayout:
rows: 3
Image:
id: cardimage
source: ChaseTheAce.cardimagefile #<<<<<<<<<<<<<<<<<<<
allow_stretch: True
GridLayout:
dealer:deal
cols: 3
Button:
id: deal
text: "Deal"
on_release:
app.deal()
Отредактирован для удаления несвязанных частей кода.