我現在創建了一個簡單的聊天應用程式,它只是發送和接收訊息,但我想在其中添加更多功能并想分享圖片和影像。我試圖建立一些邏輯,但我仍在路上,我的問題是如何在聊天框中顯示圖片,就像我們在不同的聊天應用程式中一樣。下面是我的代碼,請指出其中有什么問題,因為當我運行代碼并上傳影像時,它會顯示在聊天框中,但是當我上傳另一個影像時,第一個影像消失了。
def open_img ( self) :
global img
f_types = [ ('Jpg Files' , '*.jpg'), ('Png Files' , '*.png'), ('Jpeg Files' , '*.jpeg') ]
filename = filedialog.askopenfilename ( filetypes = f_types )
img = PIL.Image.open ( filename )
img_resized = img.resize ( (200 , 100) ) # new width & height
img = PIL.ImageTk.PhotoImage ( img_resized )
self.text_box.image_create ( END , image = img )
self.text_box.insert(END , "\n")
self.text_box.tag_configure ( "right" , justify = 'right' )
self.text_box.tag_configure ( "right" , foreground = 'slate blue2' )
self.text_box.configure ( state = DISABLED )
self.text_box.see ( END )
這是我在文本框中上傳和顯示影像的功能。這些是輸出。

當我上傳第一張圖片時,上面的輸出但是當我再次上傳任何圖片時,它會給出這種型別的輸出

uj5u.com熱心網友回復:
影像消失是因為您沒有保存對前一個影像的參考,然后它會被垃圾收集。您可以通過創建一個包含所有影像參考的串列來解決此問題,然后將每個新影像附加到此串列中。
在__init__()方法中:
self.image_list = []
在open_img()方法中:
self.image_list.append(img)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/465728.html
