私は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)
私は、ステータスバーを更新するだけでなく、私はカーソルの周りをクリックしてみましょうするために、マウスの左ボタンをバインドするにはどうすればよい
?
私はこれを試してみましたが、それは私にエラーました: フレーム=メインウィンドウ(なし、 'Avix') ファイル」で、 ファイル "editor.py"、行211: 'トレースバック(最新の呼び出しの最後に) UpdateLineColで」__init__ self.UpdateLineColでは、ライン103、(自己) ファイル "editor.py editor.py"、ライン208、 e.Skip() はAttributeError: 'メインウィンドウ' オブジェクトが属性を持っていない 'スキップ' ' –
Trifex
すべてのイベントが' Skip'という属性を持っていることを知っている限り、 'Bind'コマンドだけでなく、別の方法で' UpdateLineCol'を呼び出していると仮定できます。 –
私は 'self。コントロールエディタの起動時に.Bind(wx.EVT_KEY_UP、self.UpdateLineCol) 'と' self.UpdateLineCol(self) 'を使って更新します。どうやってスキップ作業をすることができますか?すべてのコードは私のGitHubリポジトリにあります。[こちら](https://github.com/thatpotato/Avix-Editor) – Trifex