Tkinter小部件文本:计算行数

Tkinter小部件文本:计算行数,tkinter,text,count,widget,line,Tkinter,Text,Count,Widget,Line,在这个简短的程序中,我想知道需要显示多少行消息。 问题是它没有回答我这里需要3行,而是给了我1行。 为什么? 我尝试了关于这个主题的不同解决方案,但是没有人在工作,每个都有som问题(这里没有计算行数) 我在Windows10上使用Python 3.9.2 谢谢你的帮助 from tkinter import * root = Tk() text = Text(root, width = 12, height = 5, wrap = WORD) text.insert(END, 'This i

在这个简短的程序中,我想知道需要显示多少行消息。 问题是它没有回答我这里需要3行,而是给了我1行。 为什么? 我尝试了关于这个主题的不同解决方案,但是没有人在工作,每个都有som问题(这里没有计算行数)

我在Windows10上使用Python 3.9.2

谢谢你的帮助

from tkinter import *

root = Tk()
text = Text(root, width = 12, height = 5, wrap = WORD)
text.insert(END, 'This is an example text.')
text.pack()

print(int(text.index('end-1c').split('.')[0]))

root.mainloop()
改编自:

从tkinter导入*
root=Tk()
text=text(根,宽=12,高=5,换行=WORD)
text.insert(结束“这是一个示例文本”)
text.pack()
root.update()
#注意` text.count(“0.0”、“end”、“displaylines”)`返回如下元组:`(3,)`
结果=text.count(“0.0”、“结束”、“显示行”)[0]
打印(结果)
root.mainloop()

@TheLizzard是的,刚刚意识到是的!!我知道,因为我需要在我的主程序中的小部件文本大小之后调整这个数字。我尝试使用一个函数,并用int转换值不是pb,我无法计算下面的wrap:/Answer的数量。
“0.0”
应该是
“1.0”
-第一部分是行,行开始以1计数。第二部分是字符,字符从0开始计数。@BryanOakley根据tcl文档
“1.0”
“0.0”
做同样的事情,我更喜欢
“0.0”
@BryanOakley索引上的tcl文档。它说:行从1开始编号,以与使用此编号方案的其他UNIX程序保持一致。并忽略非法范围。所以
“0.0”
的效果总是和
“1.0”
一样@TheLizzard:是的,
“0.0”
也有同样的效果,但是最好使用适当的索引,特别是当你试图教别人如何做某事时。为什么不直接调用
text.count(“1.0”,“end”,“displaylines”)