【发布时间】:2021-10-31 20:52:22
【问题描述】:
我正在尝试将背景图像放入这样的画布中:
import tkinter as tk
class App(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.pack()
self.canvas = GameBoard()
self.canvas.pack()
class GameBoard(tk.Canvas):
WIDTH = 600
HEIGHT = 600
BOARD_IMAGE_PATH = '../resources/background600x600.png'
def __init__(self):
super().__init__(width=GameBoard.WIDTH, height=GameBoard.HEIGHT)
self.boardImage = tk.PhotoImage(file=GameBoard.BOARD_IMAGE_PATH)
self.create_image(0, 0, self.boardImage, anchor='nw')
root = tk.Tk()
app = App(root)
app.mainloop()
但我收到此错误消息:
C:\Users\Tata\Documents\python\PycharmProjects\CanvasBackground\venv\Scripts\python.exe C:/Users/Tata/Documents/python/PycharmProjects/CanvasBackground/GUI/frame.py
Traceback (most recent call last):
File "C:\Users\Tata\Documents\python\PycharmProjects\CanvasBackground\GUI\frame.py", line 21, in <module>
app = App(root)
File "C:\Users\Tata\Documents\python\PycharmProjects\CanvasBackground\GUI\frame.py", line 14, in __init__
self.canvas = GameBoard()
File "C:\Users\Tata\Documents\python\PycharmProjects\CanvasBackground\GUI\gameBoard.py", line 13, in __init__
self.create_image(0, 0, self.boardImage, anchor='nw')
File "C:\Users\Tata\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 2787, in create_image
return self._create('image', args, kw)
File "C:\Users\Tata\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 2773, in _create
return self.tk.getint(self.tk.call(
_tkinter.TclError: unknown option "pyimage3"
Process finished with exit code 1
当我尝试运行调试器时,它说
Connection to Python debugger failed
Interrupted function call: accept failed
这完全超出了我的范围。为什么不起作用,为什么乞丐拒绝合作?
【问题讨论】:
-
将
self.create_image(..., self.boardImage, ...)更改为self.create_image(..., image=self.boardImage, ...)
标签: python python-3.x tkinter canvas tkinter-canvas