【问题标题】:How to get the last entered input from text widget in tkinter如何从 tkinter 中的文本小部件获取最后输入的输入
【发布时间】:2019-04-03 14:36:55
【问题描述】:

这只是一个示例代码。

input = text_widget.get("1.0","end-1c")

我知道“1.0”是指从 Text Widget 中的第一个字符获取输入,而“end-1c”是指检索到最后一行,不包括换行符。

但是我怎样才能在文本小部件中获取最后输入的行?

【问题讨论】:

    标签: python-3.x tkinter


    【解决方案1】:

    总是保证在末尾有一个换行符,因此除此换行符之外的最后一行文本以 "end-1c" 结尾,正如您所建议的那样。文本小部件支持将一小组修饰符中的一个添加到索引中。这些修饰符是“linestart”、“lineend”、“wordstart”和“wordend”。

    因此,要获取最后一行的开头,我们可以将修饰符“linestart”附加到该索引。

    例子:

    input = text_widget.get("end-1c linestart", "end-1c")
    

    【讨论】:

    • 给定的答案有效。但是为什么我们需要使用“end-1c linestart”,而不是“end linestart”呢?因为我们只需要到达终点线的起点。 “-1c”是什么原因
    • @learner:因为“end”表示紧随尾随换行符之后的点。 “linestart”实际上意味着向后退,直到找到换行符。由于“end”是最后一个换行符之后,备份到换行符意味着它停止在最后一个换行符处。
    猜你喜欢
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多