在Ruby curses中设置窗口的背景颜色
尝试将一个背景添加到curses窗口。 我有这两个属性
我发现了这两种方法:
bkgd(ch)
和
bkgdset(ch)
但是,我无法实现它们:
win1.new(10,10,10,10) win1.box('|','-') win1.bkg(COLOR_RED)
这充满了钻石! 非常有趣的效果,但不是我想要的。 我想要一个红色背景。
颜色在我的终端完美运行。
已经有一段时间了,但也许我的例子仍然有用:
使用时对我来说也是一样的“钻石”
window.bkgd(COLOR_RED)
这似乎出现了,因为bkgd
方法接受一个char并将其打印到窗口的所有空闲空间(参见旧文档 )。
但是,您可以使用具有所需背景颜色的颜色对,并在写入其他内容之前将其应用于所有屏幕位置。
这是我解决它的方式:
require 'curses' init_screen start_color init_pair(COLOR_RED, COLOR_WHITE, COLOR_RED) window = Curses::Window.new(0, 0, 0, 0) window.attron(color_pair(COLOR_RED)) do lines.times do |line| window.setpos(line, 0) window << ' ' * cols end end