0

現在、モジュール wxPython、Pcapy、および impacket を使用して、Ubuntu で Wi-Fi パケット キャプチャ ユーティリティを構築中です。wxPython で GUI を作成し、他のモジュールを参照するキャプチャ コードを作成しましたが、この 2 つを組み合わせるのは難しいことがわかりました。これはばかげているように聞こえますが、キャプチャしたパケットを GUI に表示する wx.txtctrl を取得するのは難しいと思います。代わりに、コマンド ラインに移動し続けます。

textctrl をグローバルに定義するか、コードを表示できるようにする関数はありますか?

誰かが問題に光を当てることができれば、それは大歓迎です

どうもありがとう

4

1 に答える 1

1

stdout送信されたすべてのもの(たとえば、print ステートメントによって発行されたもの) をテキスト コントロールにリダイレクトする場合はsys.stdout、ファイル オブジェクトをシミュレートする独自のオブジェクトに置き換えることができます。

StringIOクラスを使用して、蓄積された値を定期的に (タイマーを使用して) テキスト コントロールに送信することができます。また、 StringIOをサブクラス化し、その書き込みメソッドをオーバーライドして、すべてのテキスト フラグメントを受信した直後に新しいコンテンツをテキスト コントロールに送信することもできます。

ただし、これは良い解決策ではありません。モンキーパッチのように感じます。

于 2011-04-08T21:03:39.267 に答える