2017-12-04 26 views
0

テキストウィジェットCtrl + Oは、テキストエリアに新しい行を追加しているようです。私ははCtrl + Oにメソッドをバインドするコードの下に持っていますが、それはまだ改行が追加されます。テキストウィジェットからCtrl-Oをアンバインドする方法はありますか?

import tkinter as tk 

root = tk.Tk() 

txt = tk.Text(root) 
txt.bind('<Control-o>', lambda event: print("o")) 
txt.bind('<Control-O>', lambda event: print("O")) 

txt.pack() 

root.mainloop() 

私ははCtrl + Oは改行を追加防ぐことができますどのように?

答えて

2

リテラル文字列「ブレーク」を返すthisthisによるとreturn "break"でコールバック関数を終了のように起きてからこれを防ぐことができます。同様:lambda

import tkinter as tk 

root = tk.Tk() 

def ctrl_o(event): 
    print("o") 
    return "break" 

txt = tk.Text(root) 
txt.bind('<Control-o>', ctrl_o) 
txt.bind('<Control-O>', ctrl_o) 

txt.pack() 

root.mainloop() 

は、しかし、私はreturn "break"することができませんでした。

+2

このように 'lambda'を使うことができます:' txt.bind( ''、ラムダイベント: "break") ' –

関連する問題