所以我的教授让我们使用 Graphis.py(zelle)来制作GUI,我已经制作了所有按钮,我的问题是该模块没有任何功能允许图像仅作为背景颜色。你们知道如何修改它以便将背景设置为图像吗?setBackground方法是我认为需要编辑的方法
class GraphWin(tk.Canvas):
"""A GraphWin is a toplevel window for displaying graphics."""
def __init__(self, title="Graphics Window",
width=200, height=200, autoflush=True):
master = tk.Toplevel(_root)
master.protocol("WM_DELETE_WINDOW", self.close)
tk.Canvas.__init__(self, master, width=width, height=height)
self.master.title(title)
self.pack()
master.resizable(0,0)
self.foreground = "black"
self.items = []
self.mouseX = None
self.mouseY = None
self.bind("<Button-1>", self._onClick)
self.bind_all("<Key>", self._onKey)
self.height = height
self.width = width
self.autoflush = autoflush
self._mouseCallback = None
self.trans = None
self.closed = False
master.lift()
self.lastKey = ""
if autoflush: _root.update()
def __checkOpen(self):
if self.closed:
raise GraphicsError("window is closed")
def _onKey(self, evnt):
self.lastKey = evnt.keysym
def setBackground(self, color):
"""Set background color of the window"""
self.__checkOpen()
self.config(bg=color)
self.__autoflush()
例如,如果您将图像存储为gif,Python通常能够显示它。 以下是步骤。 我假设您创建一个名为"win"的图形窗口。
首先,将图像保存在TestPic.gif等文件中。其次,导入图像并为其分配一个名称,例如 b:
b = Image(Point(100,100),"TestPic.gif")
点 (100,100) 是图像将居中的点。 现在您要显示它:
Image.draw(b,win)
差不多就是这样。 当然,您可以使用标准的 Python 图形命令来操作图像,例如移动它等。
有关参考,请查看此链接中的图形 pdf:
http://mcsp.wartburg.edu/zelle/python/graphics/graphics.pdf
它很好地说明了一切。