Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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 3.x python 3.5 tkinter gui程序_Python 3.x_Tkinter - Fatal编程技术网

Python 3.x python 3.5 tkinter gui程序

Python 3.x python 3.5 tkinter gui程序,python-3.x,tkinter,Python 3.x,Tkinter,这是我的第一个问题…我想帮助你了解这段代码到底是如何工作的 from tkinter import * root = Tk() def left(event): print("LEFT") def middle(event): print("MIDDLE") def right(event): print("RIGHT") def key(event): print("You pressed the key:", repr(event.char)) d

这是我的第一个问题…我想帮助你了解这段代码到底是如何工作的

from tkinter import *

root = Tk()

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

def middle(event):
    print("MIDDLE")

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

def key(event):
    print("You pressed the key:", repr(event.char))

def callback(event):
    f1.focus_set()
    print("clicked at", event.x, event.y)

f1 = Frame(root, width=300, height=300, bg="cyan")
f1.bind("<Button-1>", callback)
f1.bind("<Button-2>", middle)
f1.bind("<Button-3>", right)
f1.bind("<Key>",key)
f1.pack()
root.mainloop()
从tkinter导入*
root=Tk()
def left(事件):
打印(“左”)
def中级(事件):
打印(“中间”)
def权限(事件):
打印(“右”)
def键(事件):
打印(“您按下键:”,repr(event.char))
def回调(事件):
f1.焦点集()
打印(“单击”,事件x,事件y)
f1=帧(根,宽度=300,高度=300,bg=“青色”)
f1.bind(“,回调)
f1.绑定(“,中间)
f1.绑定(“,右)
f1.绑定(“,键)
f1.pack()
root.mainloop()

它基本上创建了一个框架,该框架具有以下相关操作:

  • 用鼠标左键单击(“按钮1”):它聚焦在框架上,并在控制台上打印单击的位置(“x”和“y”)。左上角显示“点击0,0”,右下角显示“点击300300”。如果您放大帧(通过更改“高度”和“宽度”),您将有更多像素可点击
  • 点击鼠标中键(“按钮2”):打印函数“Middle”的消息
  • 右键单击(“按钮3”):它打印函数“Right”的消息
  • 键盘事件(“键”):它打印键盘中已按下的键

您在理解代码方面有什么具体困难?def回调(事件):f1.focus\u set()打印(“单击”,事件.x,事件.y)我不理解该部分使用
帮助(Frame.focus\u set)
访问该方法的文档。如方法所述,焦点设置为帧。它有助于注释掉行,以查看它也会产生什么影响。您会注意到,使用它,在左键单击框架后会注册按键。ohkk谢谢……您能告诉我什么是focus_set()……谢谢您,所以muchfocus_set()是一种关注某个小部件(在本例中是一个框架)的方法。当你有很多小部件时,将焦点转移到你想要的小部件上是很有用的。如果没有它,键盘事件将无法正常工作。