Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tkinter:无法使用按钮将从Pixmap导入的图像放置在文本小部件中_Python_Tkinter_Widget_Pixmap - Fatal编程技术网

Python Tkinter:无法使用按钮将从Pixmap导入的图像放置在文本小部件中

Python Tkinter:无法使用按钮将从Pixmap导入的图像放置在文本小部件中,python,tkinter,widget,pixmap,Python,Tkinter,Widget,Pixmap,因此,我正在使用python 3,并对执行以下代码后图像为什么不显示在文本小部件中感到困惑: from tkinter import * import fitz root=Tk() filenew=fitz.open(r'C:\Users\azoka\Desktop\Python\b.pdf') text_1=Text(root,width=100,height=100,bg='gray').pack(side=LEFT,expand=FALSE) def Show(): pix

因此,我正在使用python 3,并对执行以下代码后图像为什么不显示在文本小部件中感到困惑:

from tkinter import *
import fitz

root=Tk()
filenew=fitz.open(r'C:\Users\azoka\Desktop\Python\b.pdf')

text_1=Text(root,width=100,height=100,bg='gray').pack(side=LEFT,expand=FALSE)

def Show(): 
   pix =filenew.getPagePixmap(0)   # 0 is page number
   pix1=fitz.Pixmap(pix,0)
   img =pix1.getImageData("ppm")
   timg=PhotoImage(data=img)
   frame=[]
   frame.append(timg)
   text_1.image_create(END,image=timg)

Shower=Button(win1,text='show',bg='navy',fg='light cyan',width=5,height=1,command=Show)
Shower.place(x=1000,y=360)

root.mainloop()
点击按钮后图像不会显示,但不会显示任何代码错误,我是python新手 我想不出来。我希望在不改变Show()函数的情况下显示我的img


-感谢您的回答-

变量
frame
在函数结束后被丢弃并被垃圾收集,因此
timg
也被垃圾收集。尝试在函数外部定义
frame=[]
或添加
text\u 1.tk\u img=timg
这几乎肯定与此相关:@BryanOakley我认为你是对的,但是OP尝试将
PhotoImage
s放入列表中,但列表也超出了范围。现在开始工作!现在我明白了错误,谢谢你的回复@塞利扎德