目前,我正在創建tkinter GUI應用程序,並且我正在使用一些圖像作爲treeview小部件中的項目的圖標。爲了讀取,並保持它們作爲參考我用這個代碼:在Tkinter中使用圖像作爲圖標獲得最佳性能的方式
self.logoadd = tk.PhotoImage(file='../img/add.png')
self.logodel = tk.PhotoImage(file='../img/delete.png')
...
self.logoedit = tk.PhotoImage(file='../img/edit.png')
#Keep them as references
self.imgAdd = self.logoadd
self.imgDel = self.logodel
...
self.imgEdit = self.logoedit
而且我覺得這不是一個很好的做法,如果有使用超過30個圖像。另一種方法是:
- 將圖像作爲字節字符串存儲在.py文件或;
- 使用for循環來檢索文件夾中的所有圖像,將它們作爲變量傳遞。
我需要一些有經驗的GUI開發人員的建議。在GUI實踐中,哪種方式最適合性能和使用? (可能是我所有的方法都是錯誤的)
對於信息:這些圖像的尺寸是用於文件圖標的16×16和圖像
我不太明白_best performance_的意思,因爲它好像是在尋求一種方法來避免寫出30+項目作業。如果是這樣,則使用字典來保存所有的'PhotoImage'並使用分配的鍵來獲取它。 –
我的意思是最好的表現是速度和代碼。在treeview中,可能有數百個項目,它們的圖標可能有所不同。因此,閱讀正確的圖像並將它們放入GUI應該快速且易於維護。 – bzimor
除非您擁有數千或數萬張圖像,否則性能差異將難以察覺。 –