Tkinter:如何在具有背景

时间:2017-08-04 18:32:55

标签: python tkinter

我正在尝试使用tkingter制作纸牌游戏。

  1. 将表格图像设置为画布的背景。
  2. 在桌子背景上绘制卡片。点击按钮(此处未显示)
  3. 即可触发此操作

    问题是我无法在桌面背景上创建卡片图像。做正确的方法是什么?我是否需要为卡片创建另一个画布,而不是直接在桌面背景上绘图?我觉得我在这里缺少一些基本的东西。

    from tkinter import *
    from PIL import Image, ImageTk
    
    
    # globals
    table_dir = "C:/Python36/resourse/table.png"
    card_dir = "C:/Python36/resourse/card.jpg"
    
    #CREATE APP
    root = Tk()
    
    #LOAD IMAGES
    table_PIL = Image.open(table_dir)
    table_image = ImageTk.PhotoImage(table_PIL)
    card_PIL = Image.open(card_dir)
    card_image = ImageTk.PhotoImage(card_PIL)
    
    #make canvas and set background image with a label
    canv = Canvas(root, width=table_PIL.width, height=table_PIL.height, background="white")
    
    background_label = Label(canv, image = table_image)
    background_label.place(x=0, y=0, relwidth=1, relheight=1)
    canv.grid(row=0, column=0)
    
    #trying to create card image on top of background table, not working
    canv.create_image(200, 100, image=card_image)
    
    root.mainloop()
    

1 个答案:

答案 0 :(得分:0)

请勿使用标签作为背景。使用canv.create_image(...)创建背景,就像创建卡片一样。