我爲Python 2.7使用wxpython。我正在使用文本編輯器,但遇到了狀態欄的問題。wxpython文本編輯器狀態欄更新
我想讓我的狀態欄有Line xx, Column xx
。但是,我只找到一種方法來使用按鍵進行更新,以供用戶輸入時使用。我還希望用戶能夠在文本編輯器中點擊並查看其光標位置。我試過self.control.Bind(wx.EVT_LEFT_DOWN, self.UpdateLineCol)
。當我運行這個,它似乎有反彈鼠標左鍵,所以我不能點擊。
我UpdateLineCol代碼如下:
def UpdateLineCol(self, e):
line = self.control.GetCurrentLine() + 1
col = self.control.GetColumn(self.control.GetCurrentPos())
stat = 'Line %s, Column %s' % (line, col)
self.StatusBar.SetStatusText(stat, 0)
我如何可以將綁定在鼠標左鍵來更新狀態欄,但也讓我點擊周圍的光標?
我嘗試這樣做,它給了我一個錯誤: '回溯(最近通話最後一個): 文件 「editor.py」,線路211,在 幀=主窗口(無, 'Avix') 文件「 editor.py」,線103,在__init__ self.UpdateLineCol(個體) 文件 「editor.py」,線路208,在UpdateLineCol e.Skip() AttributeError的: '主窗口' 對象沒有屬性 '跳過' ' –
Trifex
據我所知,所有事件都具有「跳過」屬性,我只能假設你以另一種方式調用'UpdateLineCol',而不僅僅是用'Bind'命令 –
我也在用'self來調用它。控制。綁定(wx.EVT_KEY_UP,self.UpdateLineCol)'和'self.UpdateLineCol(self)'在編輯器啓動時更新它。我怎樣才能跳過工作?所有的代碼都在我的GitHub倉庫中[這裏](https://github.com/thatpotato/Avix-Editor) – Trifex