|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
from tkinter import *
root = Tk()
text = Text(root)
text.insert(INSERT,"l love fishc.com")
text.pack()
start = 1.0
def get(text,index):
return tuple(map(int,str.split(text.index(index),".")))
while 1:
pos = text.search("o",start, stopindex=END)
if not pos:
break
else:
print(get(text,pos))
start = pos + "+1c"
mainloop()
问一下下
def get(text,index):
return tuple(map(int,str.split(text.index(index),".")))
这一段该作何理解,不是很懂
这段代码中的函数 get(text, index) 的作用是将文本框 text 中指定位置 index 的行号和列号以元组的形式返回。
具体来说, text.index(index) 返回的是一个字符串,表示文本框中指定位置的索引。例如, 1.0 表示第一行第一个字符的位置。
str.split(text.index(index), ".") 是将索引字符串按照 . 进行分割,返回一个包含分割结果的列表。例如, "1.0".split(".") 返回 ["1", "0"] 。
map(int, str.split(text.index(index), ".")) 将列表中的每个元素转换为整数,返回一个包含转换结果的迭代器。例如, map(int, ["1", "0"]) 返回 <map object at 0x...> 。
最后, tuple(map(int, str.split(text.index(index), "."))) 将迭代器中的元素转换为元组,返回一个包含行号和列号的元组。例如, tuple(<map object at 0x...>) 返回 (1, 0) 。
所以, get(text, pos) 的作用是将文本框 text 中位置 pos 的行号和列号以元组的形式返回。在代码中,这个函数被用于打印每个字符"o"出现的位置的行号和列号。
|
|