Фоновое изображение, охватывающее нарисованную форму. Есть ли способ рисовать фигуры поверх фоновых изображений? - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь сделать основную игру, используя tkinter. Я пытаюсь создать форму поверх фонового изображения, но фоновое изображение закрывает изображение. Как мне это исправить?

Я пытался создать форму после вставки фонового изображения, но это не сработало.

import tkinter as tk
import random
from tkinter import messagebox

win = tk.Tk()

my_label = tk.Label(win, text="Color of the Baloon Game")
my_label.pack()

my_canvas = tk.Canvas(win, width=400, height=600)
my_canvas.pack()

background_image=tk.PhotoImage(file = "CS_Game_menu.png")
background_label = tk.Label(my_canvas, image=background_image)
background_label.photo = background_image
background_label.grid(row = 0, rowspan = 10, column = 0, columnspan = 10)


def drawCircle():
    color = "green"
    x1 = 100
    y1 = 100
    diameter = 90
    my_canvas.destroy()
    circle_button.destroy()
    quit_button.destroy()
    my_label.destroy()
    my_label1 = tk.Label(win, text="What is the Color of the Baloon?", font="Purisa")
    my_label1.pack()
    my_canvas1 = tk.Canvas(win, width=400, height=600)
    my_canvas1.pack()
    background_image=tk.PhotoImage(file = "CS_Game_baloon.png")
    background_label = tk.Label(my_canvas1, image=background_image)
    background_label.photo = background_image
    background_label.grid(row = 0, rowspan = 10, column = 0, columnspan = 10)
    shape = my_canvas1.create_oval(x1, y1, x1 + diameter, y1 + diameter, fill=color)

    game1_button = tk.Button(my_canvas1, text = "Green")
    game1_button.grid(row= 8, column = 3)
    game1_button["command"] = lambda: messagebox.showinfo("Congratulations!", "Correct Answer!")
    game2_button = tk.Button(my_canvas1, text = "Blue")
    game2_button.grid(row= 8, column = 5)
    game2_button["command"] = lambda: messagebox.showinfo("Sorry!", "Incorrect Answer!")
    game3_button = tk.Button(my_canvas1, text = "Red")
    game3_button.grid(row= 8, column = 7)
    game3_button["command"] = lambda: messagebox.showinfo("Sorry", "Incorrect Answer!")




circle_button = tk.Button(win, text="New Game")
circle_button.pack()
circle_button["command"] = drawCircle

quit_button = tk.Button(win, text="Quit")
quit_button.pack()
quit_button['command'] = win.destroy
...