2015-06-11 45 views
0

我試圖在tkinter畫布中添加一個可拖動的窗口對象。它在沒有'obj'函數的情況下工作,但我希望它可以用於特定目的。現在,當我嘗試這樣做時,畫布上沒有任何按鈕彈出。Tkinter畫布對象不出現

from tkinter import * 
import app 

def obj(can,text): 
    b1 = "up" 
    xold, yold = None, None 


    def main(): 
     global aaa 
     global frame 
     global text 
     global drawing_area 
     drawing_area = can 


     drawing_area.create_window(50,50,tags='aaa',window=text) 

     text.bind("<Motion>", motion) 
     text.bind("<ButtonPress-1>", b1down) 
     text.bind("<ButtonRelease-1>", b1up) 



    def b1down(event): 
     global b1 
     b1 = "down"   


    def b1up(event): 
     global b1, xold, yold 
     b1 = "up" 
     xold = None   
     yold = None 

    def motion(event): 
     global frame 
     global aaa 
     global text 
     global drawing_area 
     if b1 == "down": 
      global xold, yold 
      if xold is not None and yold is not None: 
          drawing_area.move('aaa',event.x,event.y) 

      xold = event.x 
      yold = event.y 

root = Tk() 
drawing_area = Canvas(root,height=500,width=700,bg='Blue') 
text=Button(drawing_area,text='Test') 
drawing_area.pack() 
if __name__ == "__main__": 
    obj(drawing_area,text) 
+0

您是否嘗試了一些簡單的操作,比如添加一些打印語句來驗證_think_函數是否被調用_actually_被調用? –

回答

0

obj功能定義了三個變量和四大功能,但不什麼

嘗試添加main()作爲您的obj()定義的最後一行。