python中的图像函数_python – 显示存储在函数中的图像

我正在制作一个

Python程序,让用户可以发现新喀里多尼亚的艺术作品(它是太平洋上一个小的法国岛屿:)).

我尝试调用存储图像的函数.但经过几个小时的研究后,我发现这个webpage描述了我所遇到的问题.会发生什么事情,因为我必须“保留对图像对象的额外引用.”这样做的一个简单方法是将图像分配给窗口小部件属性.我试着这样做,但由于我是初学者,我真的不知道该怎么做.

这是我的脚本:

from tkinter import *

# Création de la fenêtre de menu

fenetre=Tk()

fenetre.title("ART'CAL")

Canevas=Canvas(fenetre, height=768,width=1346)

Canevas.pack()

# Insertion de l'image du menu

PhotoMenu = PhotoImage(file ='Diapositive1.gif')

Fond = Canevas.create_image(680, 350, image=PhotoMenu)

# Création de la fenêtre de règles du jeu

def Rules():

fenetre=Tk()

fenetre.title("Règles du jeu")

CanevasRules=Canvas(fenetre, height=768,width=1346)

CanevasRules.pack()

# Insertion de l'image des règles du jeu

PhotoRules = PhotoImage(file ='Diapositive2.gif')

Fond = CanevasRules.create_image(680, 350, anchor=CENTER, image=PhotoRules)

Suivant = Button(CanevasRules, text="Suivant")

Suivant.place(x=600, y=510)

Suivant.config(font=('Product Sans',20,'bold'))

# Création et personnalisaton du bouton "Découvrir"

Decouvrir = Button(Canevas, text="Découvrir")

Decouvrir.place(x=600, y=510)

Decouvrir.config(font=('Product Sans',20,'bold'), command=Rules)

fenetre.mainloop()

一切正常,直到我按DECOUVRIR(法语中的“发现”).它不显示任何图像.谁能帮助我并告诉我如何显示这张图片?

最佳答案 需要修改两个问题:

首先,你不应该打开新的Tkinter根(Tk()),以便使用Toplevel打开一个新窗口.

其次,为了“保存图像的副本”,只需将其指定为新窗口的属性即可.

我希望这个修改过的代码能帮到你:

from tkinter import *

# Creation de la fenetre de menu

root=Tk()

root.title("ART'CAL")

Canevas=Canvas(root, height=768, width=1346)

Canevas.pack()

# Insertion de l'image du menu

PhotoMenu = PhotoImage(file ='Diapositive1.gif')

Fond = Canevas.create_image(680, 350, image=PhotoMenu)

# Creation de la fenetre de regles du jeu

def Rules():

fenetre=Toplevel(root) # open a new window using Toplevel

fenetre.title("Regles du jeu")

CanevasRules=Canvas(fenetre, height=768,width=1346)

CanevasRules.pack()

# Insertion de l'image des regles du jeu

PhotoRules = PhotoImage(file ='Diapositive2.gif')

Fond = CanevasRules.create_image(680, 350, anchor=CENTER, image=PhotoRules)

Suivant = Button(CanevasRules, text="Suivant")

Suivant.place(x=600, y=510)

Suivant.config(font=('Product Sans',20,'bold'))

fenetre.my_image = PhotoRules # saving a copy of the image

# Creation et personnalisaton du bouton "Decouvrir"

Decouvrir = Button(Canevas, text="Decouvrir")

Decouvrir.place(x=600, y=510)

Decouvrir.config(font=('Product Sans',20,'bold'), command=Rules)

root.mainloop()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值