2016-11-30 63 views
0

Win-7,Python 2.7。Python Progressbar鼠標點擊尋求

我正在製作一個處理音樂播放器的應用程序,並使用進度條顯示播放歌曲的當前位置。

我想單擊進度條來尋找歌曲中的位置。

當用戶更改父窗口的寬度時,進度欄更改大小。

我可以在進度條內獲取x,y鼠標的座標,但是獲取寬度會有點困難。 有沒有一種方法可以確定進度條的當前寬度?

我已經試過event.winfo_width()等人,但不斷收到 「AttributeError錯誤:事件實例沒有屬性 'winfo_width'」

def PositionIt(event): 
    print 
    print "Progress x=" + str(event.x) + " y=" + str(event.y) 
    print event.winfo_width() 
# other methods I have tried 
# print event.winfo_screenwidth() 
# print event.winfo_geometry() 

def SetupProgressBar(f_p, row, col): 
    s = ttk.Style() 
    s.theme_use('winnative') 
    s.configure("TProgressbar", thickness=12) 
    globs.currently_playing_progress_elapsed = 10 

    p_bar = ttk.Progressbar(f_p, 
      style="TProgressbar", 
      orient="horizontal", 
      mode='determinate', 
      length=0, 
      variable = globs.currently_playing_progress_elapsed) 
    p_bar.grid(row=row, column=col, sticky=('ew')) 
    p_bar.columnconfigure(col, weight=1) 
    p_bar.maximum = 100 
    p_bar.bind("<Button-1>", PositionIt) 

謝謝,馬克。

回答

0

OK,是我不好,

print event.winfo_width() 

應改爲:

print event.widget.winfo_width() 

馬克。