2

netmiko ライブラリと Text tkinter ウィジェットをエディタとして使用して Cisco ルーターに接続する Putty のようなプログラムを作成したいと考えています。

私の質問は、ユーザーが Text ウィジェットの他の場所ではなく Text の最後にコマンドを入力できるようにする方法です。

たとえば、私のプログラムは接続し、show ip interface briefを送信し、出力を受け取り、エディターに表示します

Router# show ip interface brief
Interface     IP-Address     OK?  Method  Status                  Protocol
Ethernet0     10.108.00.5    YES  NVRAM   up                      up      
Ethernet1     unassigned     YES  unset   administratively down   down    
Loopback0     10.108.200.5   YES  NVRAM   up                      up
Router# <-- user can only type command from here

プログラムはこんな感じ

4

1 に答える 1

-1

idlelib/PyShell.py で定義されている IDLE のシェルは、多かれ少なかれあなたが望むことを行います。自由に読んだりコピーしたりできますが、コードはかなり複雑です。私はそれを自分で完全に読んで理解しているわけではなく、説明しようとはしません。

代わりに、入力と出力を含む大きな読み取り専用テキスト ボックスと、メイン ボックスのすぐ下に設定された、たとえば 3 行の小さな入力ボックスを使用することもできます。テキスト ウィジェットには状態があります。この参考書から

「通常、テキスト ウィジェットはキーボードとマウスのイベントに応答します。この動作を取得するには、state=tk.NORMAL を設定します。state=tk.DISABLED を設定すると、テキスト ウィジェットは応答せず、その内容を変更できなくなります。プログラムでも。」

エントリ ボックスで、エントリを移動するコードにバインドし、アクションのために送信します。状態を NORMAL に戻し、エントリを挿入し、再度 DISABLED を設定する必要があることに注意してください。

于 2016-05-14T18:25:36.893 に答える