删除tkinter文本默认绑定

时间:2015-07-09 19:39:47

标签: python tkinter widget

我正在创建一个简单的tkinter文本编辑器,但我希望尽可能删除文本小部件的所有默认绑定。

例如,当我按 Ctrl + i 时,默认情况下会插入一个Tab字符。 我制作了一个事件绑定来打印文本框中有多少行,我也将事件绑定设置为 Ctrl + i

当我运行它时,它会打印文本框内的行数,但也会插入制表符。

我想知道如何覆盖默认绑定,或者学习如何删除所有默认绑定。

继承我的代码btw:

<html>
<table>
<?php


       #$b = str_replace("+"," ",$_POST['chk']);
    #echo "<script type='text/javascript'> test() </script>";
    echo "You have selected these Folders";


    foreach($_POST['chk'] as  $val)
    { echo "<tr>";
      echo "<td>";
      echo str_replace("+"," ",$val);
      echo "<tr>";
      echo "</td>";
    }

?>
</table>    
</html>

1 个答案:

答案 0 :(得分:7)

您可以通过让函数返回字符串"break"来覆盖绑定。例如:

def Ilim(self): # Prints How many lines are in
    info =  int(tbox.index('end-1c').split('.')[0])
    print(info)
    return "break"

如果要完全删除所有绑定(包括允许插入字符的绑定),则可以轻松完成。所有绑定都与&#34;绑定标记相关联。 (或&#34; bindtag&#34;)。如果删除了绑定标签,则删除绑定。

例如,这将删除所有默认绑定:

    bindtags = list(tbox.bindtags())
    bindtags.remove("Text")
    tbox.bindtags(tuple(bindtags))

有关绑定标记的详细信息,请参阅以下答案:https://stackoverflow.com/a/11542200/7432