【发布时间】:2020-05-29 00:50:31
【问题描述】:
我写了以下程序:
from tkinter import *
root = Tk()
temp = None
def changeColor(event, e):
# print('Positional arumgent passed:', x)
print('event: ', event.widget)
e2 = event.widget
if e2['bg'] == 'white':
e2['bg'] = 'black'
elif e2['bg'] == 'black':
e2['bg'] = 'white'
global temp
temp = event
entries = [[None for i in range(3)] for j in range(3)]
for y in range(3):
for x in range(3):
e = Entry(root, width=3, bg='white', bd=0, borderwidth=3)
e.bind('<Double-Button-1>', lambda x: changeColor(x, e))
e.grid(column=x, row=y)
entries[y][x] = e
root.mainloop()
在终端中产生输出,
event: .!entry5
event: .!entry6
event: .!entry8
...
当我检查终端中的 event.widgets(存储在 temp 中)之一时,我得到了,
>>> temp.widget
<tkinter.Entry object .!entry8>
>>> print(temp.widget)
.!entry8
我以前从未见过这种语法,我无法在文档中或在 stackoverflow 上找到任何关于它的内容。
有人知道它是什么吗?你能解释/描述一下吗?
【问题讨论】:
-
它不是 python 代码的事实并不意味着它没有任何意义。如果它们不是用来传达某些东西的,它们就不会被包含在 str 中。
标签: python python-3.x tkinter syntax