問題タブ [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.
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
それは何とかまだ可能ですか?
python - 別のスレッド上にある場合、Python Curses ウィンドウの getch は KEY_RESIZE を返しません
この関数を単独で実行すると、すべて問題なく動作します - KEY_RESIZE が送信され、すべて問題ありません。スレッド内から getch() を呼び出すと問題が発生します。キー イベントは正常に動作しているように見えますが (徹底的にまたは広範囲にテストしていません)、KEY_RESIZE が送信されることはありません。
私は何か間違ったことをしていますか、またはスレッドに関係なく KEY_RESIZE が送信されるようにこれを修正する方法はありますか?
Python 3.4.3 の 2 つの異なる端末エミュレーター (gnome-terminal と konsole) で、スレッドの内側と外側の両方で画面を初期化して試しました。
curses は画面出力を台無しにする傾向があるため、print は stderr (別の端末にリダイレクトされます) に送信されます。このコードでは端末の修正も扱っていないため、通常の状態に戻すには端末をリセットする必要があります。
python - 次々と続く各行の端末 + いくつかの固定テキストも
私は両方が欲しい:
通常の端末のように次々と表示される行 (Blah 12、Blah 13、Blah 14 など)
定位置情報(右):日付+定型文「Bonjour」
外観が破壊されるまで、ほぼ機能します。なんで?
(ソース: gget.it )
print
ANSI 端末では、通常の端末動作 (それぞれに 1 つの新しい行) + 固定位置表示の両方を行うにはどうすればよいですか?
注: Windows では、ansicon.exe を使用して、Windows の cmd.exe で ANSI をサポートしています。
python - Python curses のパラメータ 2 への変換エラーを修正するにはどうすればよいですか?
私は、python 用の curses のクロスプラットフォーム モジュールである Unicurses で作業していました。「@」文字をコンソールの中央に配置しようとしていました。私のコードはこれでした:
エラーが発生し続けました
この行の場合:
このエラーの原因と修正を知っている人はいますか。ありがとう!
python - 仮想スクリーンの window.delch()
curses、python で window.delch(y, x) を使用すると、削除は仮想画面ではなく画面上で行われます。つまり、window.refresh() を呼び出さなくても文字が削除されます。 . それはなぜですか、仮想画面でのみキャラクターを削除するにはどうすればよいですか?
python - 呪いが ctrl + c を使用するのを防ぎます
Curses は、CTRL + C を実行するたびにプログラムを閉じ続けます。これを防ぐにはどうすればよいですか? キーパッドを無効にして、raw モードと noraw モードに入ろうとしましたが、引き続き発生します。
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
まだアプリのみの方法を探しています。
python - ImportError: 祝福をインポートしようとしたときに「_curses」という名前のモジュールがありません
私はこれを実行しようとしています:
ここでの最初の例は次のとおりです: https://pypi.python.org/pypi/blessings .
ただし、次のエラーが表示されます。
私のシステムは win10 x64 です。
python - Pythonの呪い:Enterキーでテキストボックスを終了させますか?
ユーザー名とパスワードの入力を求めるアプリケーションがあります。Enter キーを押すだけで、名前とパスワードを送信できるようにしたいのです。これを行うために、私はこれを作りました:
残念ながら、これは期待どおりには機能しません。終了の標準文字 (CTRL+G でトリガー) は 7 で、Enter 文字は 10 ですが、上記のコードでは、他のすべてのキーは引き続き正しく処理されますが、Enter キーを押すと、終了する代わりに改行が表示されます。テキストボックスの編集モード。私は何を間違っていますか?