Я использую графический интерфейс tkinter для вызова изображений и кнопок для создания своего рода «графического романа» (возможно, не самого подходящего, но у меня нет достаточно времени, чтобы искать и использовать другую библиотеку). Соответствующий код прилагается:
import random
import tkinter as tk
from tkinter import *
from PIL import Image, ImageTk
class juego:
def __init__(self):
self.root = tk.Tk()
self.nombreimagen = "room.jpg"
self.strparaA = " "
self.strparaB = " "
self.comparaA = " "
self.comparaB = " "
self.boton1 = tk.Button()
self.boton2 = tk.Button()
self.image = Image.open(self.nombreimagen)
self.estaes = ImageTk.PhotoImage(self.image)
self.pantalla = tk.Label()
def comenzar(self):
self.nombreimagen = "room.jpg"
self.root.geometry("960x720")
self.image = Image.open(self.nombreimagen)
self.estaes = ImageTk.PhotoImage(self.image)
self.pantalla = tk.Label(self.root, image=self.estaes)
self.pantalla.place(x=0, y=0)
self.boton1(self.root, text="A: Salir a la calle", command=self.A())
self.boton2(self.root, text="B: Quedarse en la casa", command=print("B"))
self.boton1.pack(side="bottom")
self.boton2.pack(side="bottom")
self.root.mainloop()
def A(self):
self.pantalla.forget()
self.image = Image.open("salir.png")
self.estaes = ImageTk.PhotoImage(self.image)
self.pantalla(self.root, image=self.estaes)
self.pantalla.place(x=0, y=0)
self.boton1(self.root, text="Funciona?")
self.boton2(self.root, text="Funciona!")
self.boton1.pack(side="bottom")
self.boton2.pack(side="bottom")
nombre = juego()
nombre.comenzar()
Где «коменцар» - это функция для рисования стартового окна игры.
Когда я его выполняю, я получаю сообщение об ошибке «Объект метки не вызывается» в строке
self.pantalla(self.root, image=self.estaes)
self.pantalla должен быть меткой, определенной в ____ init ____