Python Progressbar鼠标单击以查找

时间:2016-11-30 20:08:29

标签: python-2.7 events progress-bar width

Win-7,Python 2.7。

我正在创建一个处理音乐播放器的应用程序,并使用进度条显示播放歌曲的当前位置。

我想点击进度条以寻找歌曲中的位置。

当用户更改父窗口的宽度时,进度条会更改大小。

我可以在进度条中获得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)

谢谢,Mark。

1 个答案:

答案 0 :(得分:0)

好的,我的坏,

print event.winfo_width()

应为:

print event.widget.winfo_width()

标记。