Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python gui tkinter中的绑定函数有问题_Python_User Interface_Tkinter - Fatal编程技术网

python gui tkinter中的绑定函数有问题

python gui tkinter中的绑定函数有问题,python,user-interface,tkinter,Python,User Interface,Tkinter,此代码是来自的教程。给定的代码应该在控制台上鼠标右键单击时打印,在左键单击时打印,但它没有这样做。我认为问题在于bind函数 我正在使用Python3.7,它已经有了tkinter包,我能做些什么使它工作,非常感谢 from tkinter import * root = Tk() def leftclick(event): print("left") def rightclick(event): print("right") frame = Frame(root, wi

此代码是来自的教程。给定的代码应该在控制台上鼠标右键单击时打印,在左键单击时打印,但它没有这样做。我认为问题在于bind函数

我正在使用Python3.7,它已经有了
tkinter
包,我能做些什么使它工作,非常感谢

from tkinter import *

root = Tk()

def leftclick(event):
    print("left")

def rightclick(event):
    print("right")

frame = Frame(root, width=300, height=300)    
frame.bind("button-1", leftclick)    
frame.bind("button-2", rightclick)
frame.pack()

root.mainloop()

我希望程序在
tk
窗口内的鼠标左键单击时在控制台中打印“left”,右键单击时也是如此,正如注释中所述,鼠标按钮事件需要
。关于
右击
无效:这是因为鼠标右键的偶数实际上是
,而
是鼠标中键(或按下鼠标滚轮)

frame.bind(“,左键单击)
frame.bind(“,右键单击)

如果您将鼠标右键视为“辅助”按钮,则这可能有点不直观,但如果您只是从左到右枚举按钮,则这是有意义的。这也与所有(大多数?)其他UI框架和语言一致。

首先,正如评论中已经指出的,鼠标按钮事件需要
。关于
右击
无效:这是因为鼠标右键的偶数实际上是
,而
是鼠标中键(或按下鼠标滚轮)

frame.bind(“,左键单击)
frame.bind(“,右键单击)

如果您将鼠标右键视为“辅助”按钮,则这可能有点不直观,但如果您只是从左到右枚举按钮,则这是有意义的。这也与所有(大多数?)其他UI框架和语言一致。

应该是
'
'
。谢谢你,先生。按钮1用于左键单击,但右键单击没有任何效果。我认为“按钮2”是鼠标中键。请尝试“是的,您是对的,它现在正在工作,谢谢应该是
'
。谢谢先生,按钮1正在为左键单击工作,但右键单击没有发生任何事情。我认为“按钮2”是鼠标中键。尝试“是的,你是对的,它正在工作,谢谢谢谢谢谢先生,实际上我正在使用笔记本电脑鼠标垫,所以我认为按钮2将再次右键单击谢谢谢谢先生,实际上我正在使用笔记本电脑鼠标垫,所以我认为按钮2将再次右键单击谢谢
frame.bind("<Button-1>", leftclick)
frame.bind("<Button-3>", rightclick)