27

これら3つの違いは何ですか?私が理解している限り、どちらも端末のテキストベースの UI の C ライブラリである curses へのバインドを提供します。

私は現在、3つのいずれについても知識がなく、呪いを使用したことはありません. どちらをお勧めしますか?ncurses については何度も聞いたことがありますが、CDK については (調査を通じて) 1 回か 2 回だけで、urwid については聞いたことがありません (私が思うに)。

4

2 に答える 2

35

いくつかの参考文献を見た後に得られるものは次のとおりです。

  • ncurses : これは curses のフリー ソフトウェア バージョンであるため、あらゆる種類の低レベルの詳細に対処する必要があります。
  • pyCDK : いくつかのウィジェットを提供する高レベルのライブラリです。私はこれを使用したことはありませんが、sourceforge プロジェクト ページによると、長い間 (少なくとも python バインディングは) メンテナンスされていないため、これは使用しません。
  • urwid : 私はこれを使用しましたが、まだ少し低レベルです (ウィジェット ライブラリというよりはフレームワークです) が、それでも非常に便利で、curses よりもはるかにユーザー フレンドリーです。UI フレームワークとして、ウィジェット、イベント、ウィジェットのレイアウトを制御する方法など、一般的に期待されるすべてのものがあります。端末のサイズが変更されたときにウィジェットを再描画し、マウス入力 (ボタンのクリックなど) を収集しcursesます。urwid

したがって、私の推奨事項は使用することurwidであり、それがニーズを満たさない場合は、他の選択肢を探すことです.

于 2011-12-01T22:43:33.573 に答える
3

私はどのライブラリも使用していませんが、あなたが参照していると仮定しています:

  • Python の組み込みcursesモジュール
  • pycdk、 CDKへの Python インターフェイス
  • コンソールurwidUI ライブラリ

これらは、コンソール ベースの UI に API を提供するという同じ目標を持った異なるライブラリです。前の質問から、cursesより低レベルのボイラープレートが必要なようです。注意すべきことの 1 つは、Python のcursesモジュールは Unix でしか利用できないということです。Windows を使用している場合は、ConsoleFredrik Lundh によって作成されたモジュールを参照することをお勧めします。

開発に関してはより組織化されているように見えますが、他の選択肢も両方とも有望にurwid見えますが、まだ積極的に開発されています。

于 2011-12-01T22:38:01.457 に答える