linux终端图形编程方法
来源:互联网 发布:小米网络电视直播 编辑:程序博客网 时间:2024/05/18 00:03
终端图形编程使用curses库,提供了一些基本的屏幕操作函数。使用curses库函数:若系统没有自带安装sudo apt-get install ncurses-dev, 编程时候gcc -o filename -lcurses(-lcurses参数用来连接时提示连接程序将curses库链接进去)。
在程序中使用curses库函数程序中必须引用curses库#include<curses.h>.程序初始化时系统会自动产生两个默认屏幕。第一个是标准屏幕系统定义sdtscr,第二个是当前屏幕系统定义curscr,通常终端的刷新频率都不高,频繁的刷新会导致显示速度变慢,因此curses库对终端屏幕刷新进行了一些优化处理。curses库中对标准屏幕的任何更新不会真正显示出来,必须显式调用refresh()函数才行。当前屏幕就是能够看到的屏幕。如果对当前屏幕进行更改而没有调用刷新幻术,那么标准屏幕就是当前屏幕已经进行了更新但是还没有调用refresh()函数时的屏幕,一个虚拟的屏幕,没有显示出来的屏幕。curses库中用的最多的就是标准stdscr,因此很多函数直接作用到stdstr上。
开始curses函数之前必须利用initscr()开启curses模式,同时结束前以endwin()关闭curses模式。
在屏幕上显示字符的函数的几个常用程序:1)echochar(ch) 和addch(ch)显示某个字符
2)mvaddch(y,x,ch):在(x,y)上显示某个字符,相当于move(y,x);addch(ch)
3)addstr(str):显示一串字符。
hello world! 程序 示例:
#include<curses.h>
#include<stdlib.h>
#include<stdio.h>
#include<unistd.h>
int main()
{
initscr();
box(stdscr, ACS_VLINE, ACS_HLINE);
move(LINES/2, COLS/2);
waddstr(stdscr, "hello, world!");
refresh();
getch();
endwin();
return 0;
}
stdscr就是标准屏幕, ACS_VLINE和ACS_HLINE代表构成方框两边的基本元素,LINES 和 COLS是curses定义的宏, 代表当前屏幕的最大行数和列数. waddstr()函数的作用是在stdscr上打印字符串"hello, world!"
linux下图形编程:
图形界面编程GTK和QT工具包,GTK是一套用于创建图形用户界面的工具包,Qt是跨平台的C++图形用户界面应用程序框架,主要优点是优良的跨平台性,面向对象(良好的封装性)丰富的API,开源以及支持XML等等。。。
- linux终端图形编程方法
- LINUX终端编程
- Linux终端编程
- Linux终端编程--termios
- LINUX终端编程
- Linux/Unix终端图形库curses简介
- linux下的串口终端图形工具
- linux 终端计时方法
- linux图形编程基础
- Linux终端编程--判断是否为终端
- Linux中的伪终端编程
- Linux中的伪终端编程
- Linux中的伪终端编程
- linux 图形库编程资源
- linux图形编程之SDL
- Linux终端图形库Curses简介和实例分析
- Linux终端图形库 Curses简介和实例分析
- Linux终端图形库 Curses简介和实例分析
- 9200.16384.WIN8_RTM.120725-1247_X64FRE_CLIENT_ZH-CN-HRM_CCSA_X64FRE_ZH-CN_DV5序号
- 建大顶堆和小顶堆及堆排序算法
- java 命名规范
- 旧日志整理一:我的3句座右铭
- 字符串排序
- linux终端图形编程方法
- The markup in the document preceding the root element must be well-formed
- Window平台使用VS2010简单快速搭建QT开发环境
- The Art of Electronics 01
- IE条件注释
- 关于线程的几个问题
- SQLServer的数据类型
- 【多边形面积】求多边形的面积 pol
- 学科前沿技术(amdahl定律对多核的影响)