使用 ncurses 修复页眉和页脚?

发布于 2024-11-05 17:45:26 字数 333 浏览 4 评论 0原文

我第一次尝试 ncurses(通过 UniCurses for Python)。我正在尝试设计一个具有固定页眉和页脚的控制台应用程序,但文档并不清楚我将如何执行此操作。我会使用窗户吗?一个面板?还有别的事吗?我已经弄清楚如何为一串文本提供它自己的前景色和背景色,但不知道如何将其扩展到控制台窗口的整个长度。要了解我想要做什么,请查看这些 cmus 屏幕截图:

http://cmus.sourceforge。 net/#home

顶部的蓝色标题和底部的蓝色和白色页脚是我想要达到的目的。谢谢!

I'm trying out ncurses for the first time (via UniCurses for Python). I'm trying to design a console application with a fixed header and footer but the documentation isn't clear on how I would go about doing this. Would I use a window? A panel? Something else? I've figured out how to give a string of text it's own foreground and background colors, but don't know how to extend that for the entire length of the console window. For an idea of what I'm trying to do, look at these cmus screenshots:

http://cmus.sourceforge.net/#home

The blue header at the top and blue and white footer at the bottom is what i'm trying to get at. Thanks!

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

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

发布评论

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

评论(2

胡渣熟男 2024-11-12 17:45:26

好吧,想通了。子窗口的救援:

init_pair(1, COLOR_BLACK, COLOR_WHITE)
header = subwin(stdscr, 1, 80, 0, 0)

wattron(header, COLOR_PAIR(1))
waddstr(header, "Title")
wbkgd(header, COLOR_PAIR(1))
wattroff(header, COLOR_PAIR(1))

可能有更好的方法来做到这一点,但它是一个解决方案。

Alright, figured it out. Sub-windows to the rescue:

init_pair(1, COLOR_BLACK, COLOR_WHITE)
header = subwin(stdscr, 1, 80, 0, 0)

wattron(header, COLOR_PAIR(1))
waddstr(header, "Title")
wbkgd(header, COLOR_PAIR(1))
wattroff(header, COLOR_PAIR(1))

There might be a better way to do this, but it's a solution.

土豪我们做朋友吧 2024-11-12 17:45:26

使用Python Curses模块

初始化curses并给它一个颜色来使用

from curses import *
stdscr = initscr()
start_color()
init_pair(1,COLOR_RED,COLOR_WHITE)

获取屏幕宽度和屏幕高度

max_y, max_x = stdscr.getmaxyx()

创建具有终端颜色最大宽度的子窗口

header = stdscr.subwin(1, max_x, 0, 0)

标题标题背景和其中的文本

header.bkgd(color_pair(1))

wtv你想要它说

header.addstr('Header Text')

显示一切

header.refresh()

With Python Curses Module

initialize curses and give it a color to use

from curses import *
stdscr = initscr()
start_color()
init_pair(1,COLOR_RED,COLOR_WHITE)

get screen width and screen height

max_y, max_x = stdscr.getmaxyx()

create the subwindow header with the maximum width of terminal

header = stdscr.subwin(1, max_x, 0, 0)

color the header background and text within it

header.bkgd(color_pair(1))

wtv you want it to say

header.addstr('Header Text')

show everything

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