問題タブ [python-curses]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
188 参照

python - 別のスレッドで何かを同時に印刷しながら Cmd を使用する

ユーザーがサーバー要求に変換されるコマンドを入力している間に、サーバーからメッセージを受け取り、それらを標準出力に出力する単純なコマンド ライン クライアントを実装しようとしています。今のところそれはツイストと Cmd で行われます:

サーバーは非請求データをクライアントに送信する場合があるため、これは非同期で行う必要があります。しかし、この方法で stdout に書き込まれたテキストはMyClient.dataReceived、Cmd のコンソール処理と衝突し、ほとんど使用できなくなります。

Urwid や ncurses などの何らかのコンソール UI ライブラリを使用して、MyCmd と MyClient からの出力を画面の別の部分に配置することを考えています。

2009 年のこのスレッドは、Urwid では不可能かもしれないことを示唆しています: http://lists.excess.org/pipermail/urwid/2009-July/000715.html

そして、ncurses でそれを行うこの要点は、私にとってはうまく機能しません: https://gist.github.com/interstar/3005137

それは何とかまだ可能ですか?

0 投票する
1 に答える
904 参照

python - 別のスレッド上にある場合、Python Curses ウィンドウの getch は KEY_RESIZE を返しません

この関数を単独で実行すると、すべて問題なく動作します - KEY_RESIZE が送信され、すべて問題ありません。スレッド内から getch() を呼び出すと問題が発生します。キー イベントは正常に動作しているように見えますが (徹底的にまたは広範囲にテストしていません)、KEY_RESIZE が送信されることはありません。

私は何か間違ったことをしていますか、またはスレッドに関係なく KEY_RESIZE が送信されるようにこれを修正する方法はありますか?

Python 3.4.3 の 2 つの異なる端末エミュレーター (gnome-terminal と konsole) で、スレッドの内側と外側の両方で画面を初期化して試しました。

curses は画面出力を台無しにする傾向があるため、print は stderr (別の端末にリダイレクトされます) に送信されます。このコードでは端末の修正も扱っていないため、通常の状態に戻すには端末をリセットする必要があります。

0 投票する
2 に答える
553 参照

python - 次々と続く各行の端末 + いくつかの固定テキストも

私は両方が欲しい:

  • 通常の端末のように次々と表示される行 (Blah 12、Blah 13、Blah 14 など)

  • 定位置情報(右):日付+定型文「Bonjour」

外観が破壊されるまで、ほぼ機能しますなんで?


(ソース: gget.it )

printANSI 端末では、通常の端末動作 (それぞれに 1 つの新しい行) + 固定位置表示の両方を行うにはどうすればよいですか?

注: Windows では、ansicon.exe を使用して、Windows の cmd.exe で ANSI をサポートしています。

0 投票する
1 に答える
129 参照

python - Python curses のパラメータ 2 への変換エラーを修正するにはどうすればよいですか?

私は、python 用の curses のクロスプラットフォーム モジュールである Unicurses で作業していました。「@」文字をコンソールの中央に配置しようとしていました。私のコードはこれでした:

エラーが発生し続けました

この行の場合:

このエラーの原因と修正を知っている人はいますか。ありがとう!

0 投票する
1 に答える
287 参照

python - 仮想スクリーンの window.delch()

curses、python で window.delch(y, x) を使用すると、削除は仮想画面ではなく画面上で行われます。つまり、window.refresh() を呼び出さなくても文字が削除されます。 . それはなぜですか、仮想画面でのみキャラクターを削除するにはどうすればよいですか?

0 投票する
1 に答える
1473 参照

python - 呪いが ctrl + c を使用するのを防ぎます

Curses は、CTRL + C を実行するたびにプログラムを閉じ続けます。これを防ぐにはどうすればよいですか? キーパッドを無効にして、raw モードと noraw モードに入ろうとしましたが、引き続き発生します。

0 投票する
0 に答える
1153 参照

python-3.x - キーホールドの最初のシンボルの後の遅延を削除

キーを押したままにすると、最初の記号が入力され、次に少し遅れて、他の記号がすばやく入力されます。このようなもの:

ここに画像の説明を入力

ターミナルでも同じことが起こります。Linux コンソール (tty) でも同じことが起こりますが、この遅延はそこでは小さくなります。

を使用する Python のコンソール アプリに取り組んでおりcurses、矢印キーの押下を処理し、この遅延もそこに存在します。

この遅延を取り除きたいので、キーを押したままにすると、最初の(またはどちらかの)シンボルの後に特定の遅延がなく、均一に信号が送信されます。

どうすればいいですか?の兵器庫から何かを使用する必要がありcursesますか? または、システム全体の設定をいじくり回しますか?

EDIT1: 1 つの方法を見つけたと思います。キーボード設定に移動して、オートリピートの遅延を設定できます。しかし、それはグローバルに変更され、私のグラフィカルインターフェイスに対してのみ変更されます。Linuxコンソールでは何も変更されません。だから、コンソールでもそれを行う方法を探しています。また、システム全体ではなく、アプリにのみ影響します。

EDIT2:X http://linuxforcynics.com/how-to/set-keyboard-repeat-delay-and-rateでグローバルに実行するコマンドラインの方法を見つけました

Linux コンソールの方法: https://unix.stackexchange.com/questions/58651/adjusting-keyboard-sensitivity-in-a-command-line-terminal

まだアプリのみの方法を探しています。

0 投票する
5 に答える
51914 参照

python - ImportError: 祝福をインポートしようとしたときに「_curses」という名前のモジュールがありません

私はこれを実行しようとしています:

ここでの最初の例は次のとおりです: https://pypi.python.org/pypi/blessings .

ただし、次のエラーが表示されます。

私のシステムは win10 x64 です。

0 投票する
3 に答える
2614 参照

python - Pythonの呪い:Enterキーでテキストボックスを終了させますか?

ユーザー名とパスワードの入力を求めるアプリケーションがあります。Enter キーを押すだけで、名前とパスワードを送信できるようにしたいのです。これを行うために、私はこれを作りました:

残念ながら、これは期待どおりには機能しません。終了の標準文字 (CTRL+G でトリガー) は 7 で、Enter 文字は 10 ですが、上記のコードでは、他のすべてのキーは引き続き正しく処理されますが、Enter キーを押すと、終了する代わりに改行が表示されます。テキストボックスの編集モード。私は何を間違っていますか?