【问题标题】:Not deleting leading characters python tkinter不删除前导字符python tkinter
【发布时间】:2012-06-24 16:27:51
【问题描述】:

我将如何设置Tkinter Text 小部件来执行类似于 IDLE 条目的操作?例如:

>>> Entry goes here!

但是,我知道如何在每行的开头插入它们,但是我将如何使它不可删除,这样您就无法删除>>>?我在谷歌上搜索过这个,但无济于事。

【问题讨论】:

标签: python tkinter python-2.7


【解决方案1】:

如果解决方案只需要“足够好”,我将使用的技术是:

  1. 插入提示时,请记住提示结尾的索引。
  2. 为您关心的事件添加到小部件的绑定(例如:<BackSpace><Delete><<Cut>>
  3. 在此绑定中,您可以查看插入光标和选择的索引,如果它在保存的索引之前,则忽略该事件(即:执行return "break")。

这应该或多或少可以正常工作,尽管它允许您在提示之前插入字符。重写所有更改文本小部件的绑定是一项相当艰巨的任务,但仅跟踪删除并不太难。

要完美解决这个问题,你需要编写一点 tcl 代码来拦截实际小部件的低级插入和删除命令。这是可能的,尽管它需要对底层 tcl 代码有很好的理解。例如,请参阅此答案:https://stackoverflow.com/a/11180132/7432

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 2011-04-09
    • 1970-01-01
    • 2015-08-30
    • 1970-01-01
    相关资源
    最近更新 更多