GNU/Linux >> Linux の 問題 >  >> Ubuntu

コマンドラインプログラムで単純なウィンドウのような要素を作成するにはどうすればよいですか?

sudo dpkg-reconfigure lightdmを実行すると ターミナルには、単純なウィンドウのようなリストメニューが表示されます。 C ++でそのようなものを作成する方法はありますか?

これは次のようになります:

承認された回答:

sudo dpkg-reconfigure lightdmを実行すると表示される、ターミナル内に含まれるテキストベースのウィンドウのようなインターフェイス ncursesを使用してコーディングされています 図書館。したがって、プログラムにそのようなインターフェイスを提供させたい場合は、ncursesも使用できます。

  • これがncursesプロジェクトページです。

  • これがNCURSESプログラミングHOWTOです。

  • ncurses-docを使用していくつかのncursesドキュメントファイルをインストールできます パッケージ。

    これにはncursesのマンページが含まれ、ここからオンラインで表示することもできます。また、ncursesライブラリが提供するすべての機能のマニュアルページも含まれています(一部はマンページを共有しています)。これらのマンページはではありません 現在manpages.ubuntu.comでオンラインです。

Ubuntuでncursesを使用してソフトウェアをビルドするには、適切なヘッダーファイルパッケージを入手する必要があります。クロスコンパイルしない限り、これは次のようになります。

  • ほとんどの文字が1バイトで表される従来の文字列を使用するプログラム(UTF-8など)の場合は、libncurses5を使用します。

    文字列がcharの配列である場合、これはおそらく必要なものです。 (Cおよびその他のCベースの言語)またはstd::string (C ++の場合)。

  • ワイド文字のサポートが必要なプログラムの場合は、libncursesw5を使用してください

    文字列がwchar_tの配列である場合は、特にこれが必要になります (Cおよびその他のCベースの言語)またはstd::wstringstd::u16string 、またはstd::u32string (C ++の場合)。

オプションで、プログラムのデバッグを支援するために、また デバッグシンボルが必要です(gdbなどのデバッガー用)。そのためには、libncurses5-dbgをインストールします またはlibncursesw5-dbg も。

GCCを使用してプログラムをビルドする場合(例:gcc またはg++ コマンド)、引数-lncursesを指定します または-lncursesw 、通常はコマンドの最後にあります。これにより、プログラムがncursesライブラリにリンクされます。例:

g++ -Wall -g -o hello hello.cpp -lncurses

hello.cppをコンパイルします デバッグシンボル(-g)を使用して実行可能ファイルを生成します )、こんにちはと呼ばれます (-o hello )、警告が必要になる可能性のあるほとんどのことに関する警告(-Wall )、および通常の(ワイド文字ではない)ncursesライブラリへのリンク(-lncurses

関連:Ubuntuのワークスペースごとに異なる背景を持つことは可能ですか?
Ubuntu
  1. LinuxコマンドラインからLinuxブータブルUSBを作成する方法

  2. スコープを作成する方法は?

  3. Linux でスレッドを作成する方法 (C サンプル プログラムを使用)

  1. DebianでSudoユーザーを作成する方法

  2. Linuxでコマンドラインキーストロークエイリアスを作成する方法

  3. 永続的なUSBを作成する方法は?

  1. Hiveでテーブルを作成する方法

  2. Ansibleでファイルを作成する方法

  3. MySQLでテーブルを作成する方法