我已經簡化了我的問題。我有兩個檔案:test.py 和 ratios.py
ratios.py 只是一行:
import pylab as pl
test.py 是:
import tkinter as tk
import tkinter.font as font
import os
from ratios import *
def mainAlgo(username, cursor, code_groupe, tkWindow):
root = tk.Tk()
root.title("Title")
root.resizable(False, False)
myFont = font.Font(size=15)
canvas = tk.Canvas(root, height=600, width=800)
canvas.pack()
background_image = tk.PhotoImage(file="dev/bg.png")
background_label = tk.Label(root, image=background_image)
background_label.place(relwidth=1, relheight=1)
root.mainloop()
mainAlgo("", "", "", "")
如果我啟動 test.py,一切正常。如果我通過洗掉最后一行來修改 test.py,然后在控制臺中輸入 mainAlgo("", "", "", "")就像這樣我有以下錯誤:
Backend TkAgg is interactive backend. Turning interactive mode on.
mainAlgo("", "", "", "")
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:/Users/lh/Documents/Documents/Formation scolaire/Thèse/Travail/Algo/Version_Finale_Indep 12.00/test.py", line 18, in mainAlgo
background_label = tk.Label(root, image=background_image)
File "C:\Users\lh\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 3148, in __init__
Widget.__init__(self, master, 'label', cnf, kw)
File "C:\Users\lh\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 2572, in __init__
self.tk.call(
_tkinter.TclError: image "pyimage1" doesn't exist
我使用的是 Windows 10、Python 3.9 和 PyCharm。
是不是很奇怪?兩者應該是等價的(至少是這樣教我的)!
我將不勝感激任何幫助/建議。
[編輯] 我提到了 python 模塊沖突,因為如果我不匯入 pylab,我就沒有這種不一致。但是,我找不到修復程式(我需要匯入一個使用 pylab 的模塊!!)。
uj5u.com熱心網友回復:
添加master = root到 tk.PhotoImage 解決了這個問題。更改 python 編輯器(VS Code 和 Pyzo)也解決了它(不添加master = root)我真的不知道為什么所以任何解釋都非常受歡迎。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/335956.html
標籤:Python matplotlib 特金特 pycharm 安慰
