【问题标题】:Text tag in adding 2 spaces in the begining of each line在每行开头添加 2 个空格的文本标记
【发布时间】:2019-04-19 05:30:29
【问题描述】:

我在文本小部件中有一个滚动条,所以我创建了一个文本标签,在每行的末尾插入 2 个空格,这样一个字母单词就不会出现在滚动条后面,我将 insert lineend 设为“ space_tag”,但它还在文本小部件实例的第一行添加了 2 个额外的空格,有人可以告诉我为什么会发生这种情况

如果我只使用self.t.insert('insert lineend', ' ') 而不是使用标签,结果是一样的

    self.t.bind("<Return>", self.save_task)
    self.t.bind("<Double-Button-1>", self.strike_line)

    self.t.tag_add('space_tag', 'insert lineend')
    self.t.insert('insert lineend', '  ',  'space_tag')

【问题讨论】:

  • 除非您将滚动条放入文本小部件,否则滚动条后面不会出现任何内容,您不应该这样做。与其试图弄清楚如何添加两个空格,不如通过将滚动条移到文本小部件之外来解决问题。

标签: python tkinter tkinter-layout


【解决方案1】:

如果没有其余代码,我无法完全理解您的问题,但是 在 Text 小部件中插入可以这样完成:

1.

self.t.insert(END, "your text here")
# This adds the text at the end of your current text

2.

self.t.insert('1.0', "your text here\n")

这会将您的文本添加到当前文本的开头,即行号1.0\n 输入新行,因此现有文本移动到下一行。您可以更改1.0 并替换为您要在其中插入文本的行号。

如果您想在行后添加空格,则只需插入"\n\n"。这将添加两个新行。

【讨论】:

  • pastebin.com/nmYVirT8 这是代码,我将滚动条直接放在文本框中,一两个字母可能会出现在滚动条后面,所以我添加了一个标签,在每行末尾添加两个空格,当我运行它时,我看到在第一行文本小部件的开头也添加了 2 个空格。
猜你喜欢
  • 2020-11-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-15
  • 2016-07-21
  • 1970-01-01
  • 1970-01-01
  • 2014-07-08
  • 1970-01-01
相关资源
最近更新 更多