首页 > 其他分享 >ncurses 库使用介绍: 实现终端 GUI

ncurses 库使用介绍: 实现终端 GUI

时间:2023-04-14 15:00:32浏览次数:53  
标签:初始化 ncurses text GUI game 终端

这次 ENGG1340 课程的 group project 是设计并实现一个 text-base game,作为终端上运行的 text-base game,有一个出彩的 GUI 肯定是一个加分项!

在未老师的介绍下,我知道了有 <ncurses.h> 库这么一个神奇的东西;最重要的是,虽然它不属于 C++ 标准库,但是在学校 server 里居然默认下载好了 (可见其出名的功能强大)
据说很多热门的终端程序,例如 Vim,SL 都用到了 ncurses

花了一个下午学习了一下用法,在这里简单的总结一下,并且附上一些简单 GUI 组成的实例

Installation

官方 release 网址在这里

在终端上输入命令 sudo apt-get install libncurses5 进行安装

Compilation

所有使用了 <ncurses.h 库的程序,在编译时需要添加参数 -l ncurses

例: g++ -o test test.cpp -lncurses

初始化窗口对象

使用 initscr() 初始化一个窗口对象 (WINDOW 类)
初始化过后,我们接下来将与该窗口对象进行交互: std::cin/out, scan/printf 等标准输入输出将失效

标签:初始化,ncurses,text,GUI,game,终端
From: https://www.cnblogs.com/VeniVidiVici/p/17318232.html

相关文章

  • Mac 的anaconda终端不一致解决
    9、Mac的anaconda终端不一致解决使用pycharm创建virtualenv环境后,命令行和终端的代码解释器不一致/usr/bin/python3是系统自带的Python3解释器问:但是为什么pycharm在这里要让我选择一个baseinterpreter解释器呢?virtualenv不是会创建一个新的虚拟环境解释器吗?为什么这......
  • Guide to Regen on VW Passat TDI with Launch x-431 Pro5
    LaunchX-431PRO5openstheeraofinnovativedualdiagnosticmodes(localdiagnosisandSmartLinkremotediagnosis).ItinheritsthepowerfuldiagnosticstrengthofPROseriesandcomeswithmultipleadvantages,suchaswidevehiclemodelcoverage,numer......
  • Spring Quickstart Guide同步构建测试
    进行了前置的配置后,打开IDEA,进行环境构建,第一次运行结果 把JDK更换为17版本后同步成功   输出结果  浏览器运行结果 ......
  • ImGui 简单使用
    主窗口......
  • LoRa振动传感器终端的功能有哪些
    LoRa振动传感器终端是一款支持LoRaWAN标准的资产监测产品,本产品基于三轴加速度计实现仓储环境物品振动监测,并通过LoRa技术实现无线报警功能。该产品可应用于安防系统中,主要应用于智能仓储、智慧工地、酱酒数字平台、智慧油田、智慧工厂等地方贵重物品监测。三轴无线振动传感器符......
  • Studio 3T 2023.3 (macOS, Linux, Windows) - MongoDB 的专业 GUI、IDE 和 客户端,现在
    TheprofessionalGUI,IDEandclientforMongoDB请访问原文链接:https://sysin.org/blog/studio-3t-2023/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgStudio3T,MongoDB的专业GUI、IDE和客户端适用于MongoDB的所有IDE、客户端和GUI工具——在Atlas......
  • 迁移学习《Cluster-Guided Semi-Supervised Domain Adaptation for Imbalanced Medica
    论文信息论文标题:Cluster-GuidedSemi-SupervisedDomainAdaptationforImbalancedMedicalImageClassification论文作者:S.Harada,RyomaBise,KengoAraki论文来源:ArXiv2March2023论文地址:download 论文代码:download视屏讲解:click1摘要一种半监督域自适应方法,......
  • 软件测试|超好用超简单的Python GUI库——tkinter(四)
    前言之前我们介绍了label控件,本篇文章我们将介绍button控件。Button控件是Tkinter中常用的窗口部件之一,同时也是实现程序与用户交互的主要控件。通过用户点击按钮的行为来执行回调函数,是Button控件的主要功用。首先自定义一个函数或者方法,然后将函数与按钮关联起来,最后,当用户......
  • 软件测试|超好用超简单的Python GUI库——tkinter(五)
    前言在之前,我们介绍了tkinter的button控件,label控件,今天我们介绍一下entry控件,entry控件我们可以理解为界面的内容输入框,实现GUI界面与用户的信息交互,最典型的场景就是我们在登录时需要输入的账号密码。Entry控件使用起来非常简单,下面对该控件做简单的介绍。基本语法格式如下:tk_en......
  • 如何在终端中打开vscode
    在vscode中使用命令command+shift+P输入shell命令,选择Shell命令:在PATH中安装“code”命令,回车使用command+空格快捷键打开聚焦搜索,输入终端后打开终端切换到想要打开的文件目录下,在终端中输入code.命令即可在vscode打开当前文件文件路径的可通过将文件拖拽到终......