nCurses属于字符图形库,那和GUI的实质差别在哪里?

发布于 2022-08-10 15:05:49 字数 654 浏览 10 评论 5

Vim和emacs都是全屏编辑器,可以控制整个屏幕,而且两者都用了nCurses的函数库。查了一下nCurses的资料,它可以帮助程序在整个屏幕上绘图,很多人都说这种图形和Turbo C的差不多。

我很迷惑的是,为什么都说基于nCurses的程序仍然属于字符界面,而不称作是GUI,而基于Xlib的Gdk,以及之上的Gnome就属于货真价实的图形界面。当然,nCurses的东西比较简单,正如Turbo C画出的菜单窗口都很简陋。但是似乎也是一种图行程序,和X window一样,也要使用显卡完成,背后必然也要驱动显卡工作。看到有人说GUI还应该有用户操作鼠标、拖放窗口等交互动作,我记得Turbo C++里面也支持鼠标的,一样可以进行操作,那自然也能捕捉事件,进行相应的绘图操作,反正终究不过是驱动显卡完成图形绘制和刷新而已。Xlib大概就是一个底层封装,在此之上可以进行进一步的封装,如Gdk,再提供给各种程序用(Gnome),而nCurses已经是一个直接用来绘图的库了,功能比较简陋而已。那么究竟两者有什么本质区别,谁来告诉我。

我甚至都觉得,字符模式(文本模式)和图形也没根本区别,无非是如何驱动显卡工作而已,文本的比较简单,只要告诉显卡屏幕分辨率,分成几行几列,并在显示缓冲区更新需要显示的内容就可以了,算是显示器能显示的最原始最简单的方式了。像nCurses,也就是Vim这种东西,能控制整个屏幕甚至划分区域,也可以算是货真价实图形界面了吧。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

北陌 2022-08-17 06:06:43

ncurses不能画图的大哥,,只是用字符拼出来的,

染火枫林 2022-08-17 05:37:58

在网上搜出这么一段话。。。。

CLI - Typing commands and editing files manually, fun, thought-provoking and often leads to troubleshooting
TUI - Characterized by the /sbin/yast text-based UI, often using the NCurses library, it’s a text version of a GUI, as it were, and YaST in the TUI mode matches screen for screen with the GUI mode
GUI - Characterized by the /sbin/yast2 X11 GUI interface, it’s run in X, is visually pleasing and very easy for people to understand and use

ncurses和Vi应该是TUI一类的,其实也就是简化的GUI而已,感觉已经不属于字符界面了。就像DOS的CMD是CLI的,输入Edit就变成TUI,Shell是CLI,进入Vi也变成TUI了。看来纯粹在文本界面下工作已经不太现实了,无论如何也要用到图形界面的。

情感失落者 2022-08-16 11:28:51

原理都是一样的了,都是要绘制到显存中去的。
只不过图像环境带有图形库,色彩也支持的多,文本环境色彩要少好多吧

沉鱼一梦 2022-08-15 00:22:55

我晕 你用下就知道有什么区别了   

紅太極 2022-08-12 11:52:34

还没有人回答呀。。。谁来解释一下文本和图形界面的一些原理吧。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文