Ketika saya menjalankan sudo dpkg-reconfigure lightdm
di terminal saya melihat daftar menu seperti jendela sederhana. Apakah ada cara untuk membuat sesuatu seperti itu di C++?
Ini terlihat seperti:
Jawaban yang Diterima:
Antarmuka seperti jendela berbasis teks, yang terdapat di dalam terminal, yang Anda lihat saat menjalankan sudo dpkg-reconfigure lightdm
dikodekan menggunakan ncurses Perpustakaan. Jadi jika Anda ingin program Anda menyediakan antarmuka yang terlihat seperti itu, Anda juga dapat menggunakan ncurses.
-
Inilah halaman proyek ncurses.
-
Berikut adalah HOWTO Pemrograman NCURSES.
-
Anda dapat menginstal beberapa file dokumentasi ncurses dengan ncurses-doc
paket.
Ini termasuk halaman manual ncurses, yang juga dapat Anda lihat secara online di sini. Ini juga mencakup halaman manual untuk semua fungsi yang disediakan oleh perpustakaan ncurses (beberapa berbagi halaman manual). Halaman manual itu bukan saat ini online di manpages.ubuntu.com.
Untuk membangun perangkat lunak menggunakan ncurses di Ubuntu, Anda harus mendapatkan paket file header yang sesuai. Kecuali jika Anda melakukan kompilasi silang, ini akan menjadi:
-
Untuk program yang menggunakan string tradisional di mana sebagian besar karakter diwakili oleh satu byte (misalnya, UTF-8), gunakan libncurses5
.
Ini mungkin yang Anda inginkan jika string Anda adalah array
char
(dalam bahasa C dan bahasa berbasis C lainnya) ataustd::string
(dalam C++). -
Untuk program yang membutuhkan dukungan karakter yang luas, gunakan libncursesw5
.
Anda akan membutuhkan ini terutama jika string Anda adalah array dari
wchar_t
(dalam bahasa C dan bahasa berbasis C lainnya) ataustd::wstring
,std::u16string
, ataustd::u32string
(dalam C++).
Opsional, untuk bantuan men-debug program Anda, Anda mungkin juga ingin simbol debug (untuk debugger seperti gdb). Untuk itu, instal libncurses5-dbg atau libncursesw5-dbg
juga.
Saat Anda membuat program dengan GCC (mis., dengan gcc
atau g++
perintah), berikan argumen -lncurses
atau -lncursesw
, biasanya di akhir perintah. Ini menautkan program Anda ke perpustakaan ncurses. Misalnya:
g++ -Wall -g -o hello hello.cpp -lncurses
Itu mengkompilasi hello.cpp untuk menghasilkan executable dengan simbol debug (-g
), disebut halo (-o hello
), peringatan pada sebagian besar hal yang mungkin ingin Anda peringatkan (-Wall
), dan menautkan ke pustaka ncurses reguler (bukan karakter lebar) (-lncurses
).