2015-04-30 197 views
0

所以我的教授讓我們使用Graphis.py(zelle)來製作GUI我已經制作了所有的按鈕我的問題是模塊沒有任何功能允許圖像僅作爲背景的顏色。你們有什麼想法我可以修改它,所以我可以將背景設置爲圖像? setBackground方法是我認爲需要編輯的方法Python使用圖像作爲背景(graphics.py)

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() 

回答

0

如果將圖像作爲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 

它幾乎闡明瞭一切好。