【问题标题】:How to draw a line with ncurses?如何用ncurses画一条线?
【发布时间】:2018-09-14 12:07:21
【问题描述】:

我知道 C++ ncurses 的基础知识,但我不知道如何在两个坐标之间画一条简单的线。

示例:

2----------3

我怎样才能做到这一点?

【问题讨论】:

  • 你想要什么样的线图? ncurses 只打印字符。要制作任意图形,我认为您必须做一些魔术,例如选择正确的字符集并编写自己的绘图原语。不是微不足道的。也许对于简单的窗框来说并不难。
  • 我想要一行,它由字符组成——就像我的例子一样。一行应该是这样的------------
  • 呃,一个循环怎么样?
  • 我怎样才能把它放在一个循环中?我想用 mvprintw(x, y, "-") 来画它

标签: c++ ncurses


【解决方案1】:
   int hline(chtype ch, int n);
   int whline(WINDOW *win, chtype ch, int n);

hlinewhline 函数使用ch 从窗口中的当前光标位置开始绘制一条水平(从左到右)线。当前光标位置没有改变。该行的长度最多为n 个字符,或者与窗口大小一样多。

至于角色,您可能想要ACS_HLINE,但- 可能也可以……也许更好。

【讨论】:

  • 谢谢!是否也有绘制垂直线(从上到下)的功能?我也需要这个
猜你喜欢
  • 2016-07-27
  • 2021-06-18
  • 1970-01-01
  • 2020-11-22
  • 2015-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多