失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python横向滚动条_python – 用于水平边缘滚动的Tkinter事件(在...

python横向滚动条_python – 用于水平边缘滚动的Tkinter事件(在...

时间:2019-10-19 15:05:55

相关推荐

python横向滚动条_python  – 用于水平边缘滚动的Tkinter事件(在...

我调查了与打印一般事件相关的代码,为按钮按下(不仅仅是按键)制作了代码,我看到了event.num用于水平鼠标滚轮.所以,我做了以下解决方案:

我不认为有水平鼠标滚动的事件名称(告诉我,如果我错了),但似乎确实有事件编号(向左滚动为6,向右滚动为7).而“< Button-6>”和“< Button-7>”似乎没有用,在Linux上的Python 3.5.3中的Tkinter仍然可以进行水平边缘滚动(我还没有测试过任何其他内容).

你需要绑定“< Button>”而不是“< Button-6>”和“< Button-7>”,并使处理程序像这样:

...

self.bind("", self.touchpad_events)

...

def touchpad_events(self, event):

if event.num==6:

self.xview_scroll(-10, "units")

return "break"

elif event.num==7:

self.xview_scroll(10, "units")

return "break"

我在if / elif语句的每个部分都返回“break”,因为我们不想一直返回“break”并中断其他按钮事件(仅当滚动水平鼠标滚轮时);我的意思是,如果你一直打破常规的左键单击将不再起作用(除非你编程),以及类似的东西.我只是做10和-10而不是event.delta/120,因为它给了我以下错误,否则出于某些奇怪的原因,只是手动输入数字似乎工作得很好:

tkinter.TclError:期望的整数但得到“0.0”

无论如何,我测试了这个解决方案并且它有效.问题解决了. ?

如果觉得《python横向滚动条_python – 用于水平边缘滚动的Tkinter事件(在...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。