2017-07-04 8 views
0

Control+Returnを押した後にウィジェットの内容を印刷する必要がありますが、それを押した後に改行が追加されます。関数を呼び出すときにEnterキーの動作を無効にするにはどうすればよいですか?Tkinterディセーブル関数呼び出しのキー動作を返す

from Tkinter import * 

def test(event): 
    a1 = e.get(1.0, END) 
    print a1 

root = Tk() 
e = Text(root) 
e.pack() 
root.bind('<Control-Return>', test) 
root.mainloop() 

return 'break'私は他の質問で見たように、私がやりたいことはありません。

私はカーソル位置を取得し、作成された新しい行を削除することができましたが、より良い方法があると思います。

のPython 2.7

+0

' root.bind(「<コントロール空間>」、テスト) 'スペースを追加しません...回避策 – PRMoureu

+0

ああ、それは奇妙です。..テキストウィジェット –

答えて

3

私はテキストウィジェット自体にバインドし、return 'break'を追加する場合、意図したようにああ、私はrootに結合した、それが動作します。結合するとき、私は `Return`を使用することはできませんようだ

from Tkinter import * 

def test(event): 
    a1 = e.get(1.0, END) 
    print a1 
    return 'break' 

root = Tk() 
e = Text(root) 
e.pack() 
e.bind('<Control-Return>', test) 
root.mainloop() 
関連する問題