linux-Linux终端图形库curses-C-窗口与子窗口

编译:


mysea@mysea-desktop:~/test$ gcc -lncursesw -std=c99 -o cursestest cursestest.c


mysea@mysea-desktop:~/test$ ./cursestest


代码:


#include <ncursesw/ncurses.h>
#include <locale.h>

int main(void){

//init_pair(short index,short foreground,short background)初始化颜色索引

//attron(COLOR_PAIR(索引号)|属性)

//newwin建立窗口,derwin建立窗口的子窗口(相对于父窗口相对位置),subwin建立窗口的子窗口(相对于根窗口绝对位置)

setlocale(LC_ALL,"");

WINDOW *win1,*win2,*subwin;

initscr();//初始化

win1=newwin(15,50,1,1);//新窗口(行,列,begin_y,begin_x)

box(win1,ACS_VLINE,ACS_HLINE);

mvwprintw(win1,1,1,"WIN1");

mvwprintw(win1,2,1,"www.deepfuturesoft.info/myblog/");


win2=newwin(10,40,10,30);//新窗口(行,列,begin_y,begin_x)

box(win2,ACS_VLINE,ACS_HLINE);

mvwprintw(win2,1,1,"WIN2");

mvwprintw(win2,2,1,"www.deepfuturesoft.info/myblog/");


subwin=derwin(win2,3,20,3,5); //子窗口

box(subwin,ACS_VLINE,ACS_HLINE);

mvwprintw(subwin,1,5,"按任意键退出");//(窗口,y,x,字符串)


refresh();//刷新整个大窗口stdscr

wrefresh(win1);

wrefresh(win2);


touchwin(win1);//转换当前窗口为win1

wrefresh(win1);

getch();//win1显示完,等待按键显示win2


touchwin(win2);//转换当前窗口为win2

//使用doupdate,可以事先定义要刷新的部分,然后刷新

wnoutrefresh(win2);

wnoutrefresh(subwin);

doupdate();

getch();//等待按键


delwin(win1);

delwin(subwin);

delwin(win2);

endwin();//结束

return 0;

}
Linux环境下C++实现的LISTBOX插件教程 本文还有配套的精品资源,点击获取 简介:本插件提供了一种在Linux环境下实现类似C# LISTBOX功能的方法,通过C++和Curses库结合实现。开发者可以利用源代码自由修改,并通过提供的测试程序学习插件使用,最终通过makefile编译整个项目。该插件特别适合希望在Linux命令行界面中创建具有列表选择功能的应用程序的C#开发者。 1. Linux下的LIS... 阅读详情

相关推荐

TerminalGL:终端的图形库

TerminalGL 使用终端窗口中的字符作为像素从头开始制作图形库的实验。 用法 从下载TerminalGL.jar并将其放在温暖干燥的地方。 将所有mod放在与上述jar文件位于同一目录中的名为mods的文件夹中。 如果要将它们放置在其他位置,请在jar文件所在的目录中创建一个名为settings.txt的文本文件,并写一个以mod-directory:开头的行,然后是所需mod文件夹的完整路径。 导航到jar文件的目录,并使用命令java -jar TerminalGL.jar从命令提示符运行程序。 改装 在项目的引用库中包含TerminalGL.jar 。 创建一个主类,然后根据需要命名。 这将是您mod的起点。 给它加上注释@ModMarker ,它包含两个元素: name – mod的全名。 version –模组的版本号。 (可选的) 另外,为您的主类提供以下四

linux下 X11桌面 一个C语言调用Xlib创建窗口的小列子

一个与linux下使用Xlib进行窗口编程的小例子,

xxoo 1万+

新手必看!Cisco Packet Tracer 8.2从安装到完成第一个局域网实验(附常见问题解决)

本文为网络新手提供了Cisco Packet Tracer 8.2的完整入门指南。从官方下载安装、界面熟悉,到核心的拖拽设备、连线、配置IP地址三步操作,手把手教你完成第一个局域网组网实验。文章重点讲解了如何通过Ping命令验证连通性,并附带了连线错误、IP配置不当等常见问题的解决思路,帮助初学者快速上手这款强大的思科模拟器。

android的专栏 869

linux X11窗口开发

检索窗口信息工具 xpropxprop执行后会出现一个光标,这个光标可以获取到窗口信息。

sevendemage的博客 1906

Arduino MLX90393磁力计驱动库:高精度三轴霍尔传感器开发指南

三轴霍尔效应磁力计是嵌入式系统中实现无接触角度检测、电子罗盘与电流传感的核心器件。其工作原理基于霍尔电压随外磁场矢量变化的物理特性,通过I²C接口输出高分辨率(16/20-bit)XYZ轴原始数据,并集成温度补偿与数字滤波功能。技术价值体现在确定性响应、低功耗(典型0.5 μA待机)及强抗干扰能力,适用于电池供电设备与实时操作系统环境。典型应用场景包括电机位置反馈、永磁体旋转角度解算、工业编码器和地磁导航。本库专为Arduino生态优化,深度封装MLX90393寄存器协议与自校准流程,同时兼容STM32、E

weixin_29363791的博客 642

Linux 音频驱动(六) ALSA音频驱动之PCM Write数据传递过程

目录1. 前言2. PCM Data Flow3. 总结 1. 前言 本文,我们将以回放(Playback,播放音频)为例,讲解PCM Data是如何从用户空间到内核空间,最后传递到Codec。 在Linux 音频驱动(一) ASoC音频框架简介中,我们给出了回放(Playback)PCM数据流示意图: 对于Linux来说,由于分为 user space 和kernel space,而且两者之间不能随便互相访问。因此用户如果播放音频,则需要调用copy_from_user()将用户数据从user spa

_Modest_的博客 1万+

chatgpt: linux 下用纯c 编写ui

这个示例代码展示了如何使用GTK在Linux上创建一个简单的窗口。如果需要更底层的控制或不希望使用GTK,也可以使用Xlib来直接操作X Window系统,但这需要更多的代码和更复杂的处理。GTK是一个更高级的库,提供了丰富的控件和功能,而Xlib则是一个更底层的库,提供了直接操作X Window系统的功能。2. **回调函数**: `on_window_destroy` 在窗口关闭时调用,退出GTK主循环。1. **包含头文件**: `gtk/gtk.h` 包含所有GTK函数和数据结构的定义。

m0_59802969的博客 805

RK3568 Android12预置APK的三种模式详解:不可卸载、可卸载与永久删除

本文深入解析RK3568 Android12系统中APK预置的三种模式:不可卸载、可卸载与永久删除,详细介绍了每种模式的技术实现、应用场景及实战案例。针对Rockchip平台特性,提供从目录创建到系统编译的完整指南,帮助开发者根据产品需求选择最佳预置方案,并解决常见问题。

k8s6orchestrator的博客 967

chatgpt赋能python:Python移动光标位置:一个全面指南

光标可以被理解为屏幕上可见的闪烁图标。屏幕上光标的位置与文本输入的位置有关。在Python中,也可以形象地把光标看作是程序在文本流上的一个位置指示器。在移动光标的过程中,程序可以精确地控制光标所在的位置。这篇文章旨在为Python开发人员提供一些关于移动光标位置的知识。我们已经涵盖了Python中移动光标位置的几种方法,以及在文本编辑器和终端中移动光标的一些技巧。了解如何移动光标位置将有助于您更轻松地在Python中实现所需的功能。本文由chatgpt生成,文章没有在chatgpt。

GitHub质检员 817

LVGL 源码分析大全

LVGL 是一款流行的免费和开源嵌入式图形库,为纯C的轻量级GUI框架,支持framebuffer直接渲染图层,因此LVGL能更容易为 MCU、MPU等显示设备开发漂亮的UI。可视化的 UI 编辑器官方上有推荐使用工具。当然,也可以选择 NXP(恩智浦半导体) 提供的工具。........................

Bigan(安)的博客 1万+

arcgis计算栅格平均值

打开FC栅格数据和非水体矢量数据 利用矢量数据提取对应栅格的非水体部分 2.1打开空间分析工具à提取分析à按掩膜提取 输入对应栅格数据和矢量数据 2.2提取结果如下 进行计算FC平均值 3.1打开空间分析工具à多元分析à波段集统计 输入对应栅格和输出路径 3.2统计结果如下 ...

Z_W_H_的博客 5371

chatgpt赋能python:Python怎么移动光标

在计算机中,光标是指当用户在屏幕上输入文本时,显示输入位置的闪烁符号。它表示当前的输入位置,并可用于在文本中移动。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程。

a058046的博客 921

Python爬虫深度对抗:拼多多与得物价格监控系统中的设备指纹模拟与SkyWalking风控绕过实战

在电商数据采集领域,拼多多和得物(毒)APP堪称国产风控系统的“双子星”。前者依托于拼多多集团强大的安全团队,后者则以其独特的“潮流单品”数据价值和高昂的爬取成本闻名。对于任何一名爬虫工程师而言,能够稳定、高效地获取这两大平台的价格、库存、销量等动态信息,都是一项极具挑战性的技术试金石。传统的基于requests库的简单HTTP请求,在面对这两款应用时几乎寸步难行。你会发现,无论怎样伪造User-Agent、怎样轮换代理IP,返回的永远是状态码412403,或者是一个包含验证滑块设备异常的JSON错误。

2201_76125261的博客 865

linux终端 图形库,Linux终端图形库 Curses简介和实例分析

Linux终端图形库 Curses简介和实例分析2008-03-18eNet&Ciweek不过不要急着用gcc -o hello hello.c去编译运行(我知道你会用gcc:) 那样是不能通过编译的. 因为curses库不在标准路径上, 所以我们要加上 -lcurses连接选项, 像这样:gcc -o hello hello.c -lcurses现在你用 ./hello 运行一下程序看看...

weixin_35990358的博客 352

硬件工程师入门基础知识(一)基础元器件认识(二)

我们的电路输入一般是只有两种状态,0V 或者是其它的高电平(1.8V,3.3V,5V 等),截止状态一般不用怎么考虑,因为如果让三极管的 Vbe=0,自然就截止了,重要的是饱和状态如何保证。也就是说只要 Rb

小幽余生不加糖 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Linux下curses函数库的详细介绍

Linux下curses函数库的详细介绍curses库介绍安装curses库函数介绍初始化和重置函数管理屏幕的函数输出到屏幕从屏幕读取清除屏幕移动光标字符属性管理键盘的函数键盘模式键盘输入管理窗口的函数窗口通用窗口函数窗口移动和更新屏幕窗口优化屏幕刷新子窗口窗口转储keypad模式彩色显示获取位置获取光标位置 curses库介绍   curses是一个在Linux/Unix下广泛应用的图形函数库,...

weixin_43855330的博客 6225

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java 字符界面 curses_Linux终端图形库 Curses简介和实例分析

随着电脑知识的普及, 越来越多的电脑爱好者开始了解和使用Linux.。Linux的轻松自由之风给了我们不同的感受。但是我们不能满足于基本的命令和KDE, Gnome等用户界面的操作. 我们要干什么? 编程, 对, 编程! 对于编程爱好者, Linux有着很好的编程环境: gcc(GNU Compiler Collection)能够编译C, C++, Java等很多种语言, 而且Linux环境下有很...

weixin_35859737的博客 461

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Linux终端图形库Curses简介和实例分析

Linux终端图形库Curses简介和实例分析<br />2008-12-2 13:40|查看数: 1322 <br />随着电脑知识的普及, 越来越多的电脑爱好者开始了解和使用Linux.。Linux的轻松自由之风给了我们不同的感受。但是我们不能满足于基本的命令和KDE, Gnome等用户界面的操作. 我们要干什么? 编程, 对, 编程! 对于编程爱好者, Linux有着很好的编程环境: gcc(GNU Compiler Collection)能够编译C, C++, Java等很多种语言, 而且Linux

uunubt的专栏 2088

Linux/Unix终端图形库curses简介

  Linux/Unix终端图形库curses简介 随着电脑知识的普及, 越来越多的电脑爱好者开始了解和使用Linux.。Linux的轻松自由之风给了我们不同的感受。但是我们不能满足于基本的命令和KDE, Gnome等用户界面的操作. 我们要干什么? 编程, 对, 编程! 对于编程爱好者, Linux有着很好的编程环境: gcc(GNU Compiler Collection)能够编译C, C++

lastking的专栏 1829

Linux终端图形库 Curses简介和实例分析

随着电脑知识的普及, 越来越多的电脑爱好者开始了解和使用Linux.。Linux的轻松自由之风给了我们不同的感受。但是我们不能满足于基本的命令和KDE, Gnome等用户界面的操作. 我们要干什么? 编程, 对, 编程! 对于编程爱好者, Linux有着很好的编程环境: gcc(GNU Compiler Collection)能够编译C, C++, Java等很多种语言, 而且Linux环境下有很

1531

curses

<br />总的来说,curses是一个在Linux/Unix下广泛应用的图形函数库. 以前学过TC2.0的朋友肯定还记得TC里边有一个图形库BGI(Borland Graphics Interface, 还记得那个头文件吗:). 用它我们可以绘制在DOS下的用户界面和漂亮的图形. 而Linux/Unix编程给人的感觉就比较"cool"一点, 好像Linux编程都是在黑黑的终端下进行的.确实是这样,许多Linux高手都喜欢在终端方式下工作, 熟悉了一些命令以后,这样的工作方式效率还是很高的. 但是长久地看着

tutb12345的专栏 615

# Linux环境基于Ncurse图形库的C语言小游戏

Linux环境下基于Ncurses图形库的贪吃蛇小游戏 Ncurses简介和贪吃蛇小游戏的制作过程

dearzhangxp的博客 1260

跨平台终端音频可视化引擎:CAVA的技术架构与实时频谱分析实现

在命令行界面中实现高质量的音频可视化一直是个技术挑战,而CAVA(Console Audio Visualizer Adapted)项目通过创新的跨平台架构和高效的信号处理算法,成功将实时音频频谱分析带入了终端环境。这个开源项目不仅支持Linux、FreeBSD、macOS和Windows等主流操作系统,还提供了从ALSA、PulseAudio到Pipewire、Core Audio等多种音频输入

gitblog_01107的博客 740

Python命令行小说阅读器:从文件解析到终端分页的完整实现

命令行界面(CLI)程序以其轻量、高效和高度可集成的特性,在开发工具和系统管理领域占据重要地位。其核心原理在于通过文本流与用户交互,无需图形界面开销,能直接调用系统资源。这种技术价值体现在快速启动、低资源占用和易于自动化集成上,常被用于日志查看、数据处理和系统监控等场景。本文聚焦于一个具体应用:构建命令行小说阅读器,其中涉及文件I/O、字符串处理和终端控制等关键技术。通过解析TXT文件、实现终端分页显示和跨平台按键监听,开发者可以深入理解流式读取、ANSI转义序列和状态持久化等概念。该项目不仅是一个实用的阅

weixin_34175509的博客 455

C/C++趣味编程百例:从算法可视化到游戏开发,重燃编程乐趣

编程学习常始于语法与算法,但如何将抽象概念转化为直观应用,是提升技能与兴趣的关键。其核心原理在于通过项目驱动,将控制流、数据结构、指针等知识融入具体场景。这种实践方法的技术价值在于完成从“学语法”到“用语法”的思维转变,有效提升问题解决能力与内驱力。应用场景广泛,例如通过实现控制台贪吃蛇游戏,可自然练习数组、循环、随机数生成与非阻塞输入等综合技能;而编写康威生命游戏模拟器,则能深入理解二维数组、双缓冲与边界处理等概念。这些趣味项目,如算法可视化与交互模拟,正是将C/C++学习变得生动有趣的绝佳途径。

weixin_34026276的博客 341
上一篇: C-高级取子串函数
下一篇: LINUYX-C-curses-pad滚屏
deepfuture
博客等级 码龄17年 210粉丝 1287原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值