私はプログラムを書いていcurses
ますが、プログラムを開いたままにして他の端末タブをしばらく使用すると、プログラムを再度使用すると、何かが更新されて何かが消えているように見えることがあります...できませんいつ、どのように起こるのかまだよくわからないので、写真やスクリーンショットを見せてください... これを防ぐ方法や修正する方法はありますか?
質問する
906 次
1 に答える
0
screen.getch
から読み取り、stdscr
(画面上の変更により)リフレッシュすると、 が上書きされますboxes
。python curses を使用してページごとまたは行ごとbox.getch
にスクロールしたように、それを に変更できます
のマニュアルページはgetch
言う
ウィンドウがパッドではなく、最後に wrefreshを呼び出してから移動または変更されている場合、 別の文字が読み取られる前にwrefresh が呼び出されます。
使用したサンプルプログラムで
screen.keypad( 1 )
これは、標準画面からの読み取りにのみ適用されます。box
ウィンドウから読み取る場合は、キーパッドフラグを設定する必要があります。
box.keypad( 1 )
のマニュアルページはkeypad
言う
キーパッドのデフォルト値は FALSE です
つまり、各ウィンドウのデフォルトです。
複数のウィンドウを持つ curses プログラムは、異なる時間に異なるウィンドウから読み取ることを選択できます。各screenには入力バッファーが 1 つしかありませんが、現在のウィンドウを更新することの副作用により、ウィンドウの更新の管理が簡単になります。(ウィンドウの重なり順が複雑な場合は、panel
この副作用に頼るのではなく、ライブラリを使用します)。
于 2015-06-17T00:11:11.590 に答える