2015-05-06 36 views
0

出於測試目的,我試圖在控制檯中打印我在RichTextCtrl中編寫的所有內容。但是,它不起作用。這裏就是這樣的RichTextCtrl我寫的結合,稱爲textarea的:wxPython - RichTextCtrl事件處理

self.textArea.Bind(wx.EVT_KEY_DOWN, self.syntaxColoring_C) 

,這裏是事件處理程序:

def syntaxColoring_C(self, event): 
    print self.textArea.GetValue() 

但是,當我輸入的東西,只有一個空行,印在控制檯,並沒有任何東西出現在RichTextCtrl中。我究竟做錯了什麼?提前致謝。

+0

我能夠通過將第一個給定行chaning到self.textArea.Bind(wx.EVT_KEY_UP,self.syntaxColoring_C,self.textArea)來解決問題,儘管我不確定它是否完全正確。 –

回答

1

這可以通過在您的事件處理中添加event.Skip()來糾正。

def syntaxColoring_C(self,event): 
    print self.textArea.GetValue() 
    event.Skip() 

This link報價,

你會發現,我也呼籲「event.Skip」結尾。如果你不打電話跳過,那麼鑰匙將「吃」,並且不會有相應的字符事件。這在按鈕上並不重要,但是您可能會在文本控件中處理,因爲char事件是捕捉大寫和小寫,重音符號,變音符號等的正確方式。

+0

謝謝你的回答! –