我目前正在使用Visual Studio Code学习如何使用tkinter,我确实在youtube上找到了一些教程来创建鼠标事件函数here。我完全是编程方面的新手。
这是我的代码:
from tkinter import *
root = Tk()
def leftClick(event):
print("left")
def middleClick(event):
print("middle")
def rightClick(event):
print("right")
frame = Frame(root, width=300, height=250)
frame.bind("<Button-1>", leftClick)
frame.bind("<Button-2>", middleClick)
frame.bind("<Button-3>", rightClick)
root.mainloop()
我不知道为什么在框架内的某处单击时没有输出。当我单击鼠标左键或鼠标右键时,在输出窗口中应返回“ left”,“ right”,“ middle”,我也确实检查了终端窗口,并且那里什么也没有返回。查看上面的youtube链接,以获取我在做什么的参考。
这是终端输出:
PS C:\ Users \ abdull \ Documents !!代码\单个文件> cd'c:\ Users \ abdull \ Documents !!代码\单个文件”; $ {env:PYTHONIOENCODING} ='UTF-8'; $ {env:PYTHONUNBUFFERED} ='1'; &'C:\ Users \ abdull \ AppData \ Local \ Programs \ Python \ Python37-32 \ python.exe''c:\ Users \ abdull.vscode \ extensions \ ms-python.python-2018.9.2 \ pythonFiles \ experimental \ ptvsd_launcher.py''59359''c:\ Users \ abdull \ Documents !!代码\单个文件\ gtktest.py'
ps:对不起,我的语法不好,(第二语言)
操作系统:Windows 10 鼠标= Logitech M331
答案 0 :(得分:3)
您的框架未在ui中放置/渲染。您需要在其上调用pack
方法:
def completeEither[E <: ServiceError, R: ToEntityMarshaller]
(statusCode: StatusCode, either: => Either[E, R])(
implicit mapper: ErrorMapper[E, HttpError]
): Route = {
either match {
case Left(value) => complete(statusCode, ErrorResponse(code = value.code, message = value.message))
case Right(value) => complete(value)
}
}