gpt4 book ai didi

python - 为什么我不能在 python curses 窗口中将 str() 添加到最后一行/最后一行?

转载 作者:太空狗 更新时间:2023-10-29 22:11:17 24 4
gpt4 key购买 nike

使用 Python,我尝试使用 addstr() 将光标位置写入 curses 窗口的右下角,但出现错误。 ScreenH-2 工作正常,但打印在窗口底部的第二行。 ScreenH-1 根本不起作用。我做错了什么?

import curses

ScreenH = 0
ScreenW = 0
CursorX = 1
CursorY = 1

def repaint(screen):
global ScreenH
global ScreenW
global CursorX
global CursorY

ScreenH, ScreenW = screen.getmaxyx()
cloc = ' ' + str(CursorX) + ':' + str(CursorY) + ' '
cloclen = len (cloc)
screen.addstr (ScreenH - 1, ScreenW - cloclen, cloc, curses.color_pair(1));


def Main(screen):
curses.init_pair (1, curses.COLOR_WHITE, curses.COLOR_BLUE)
repaint (screen)

while True:
ch = screen.getch()
if ch == ord('q'):
break

repaint (screen)


curses.wrapper(Main)

File "test.py", line 17, in repaint
screen.addstr (ScreenH - 1, ScreenW - cloclen, cloc, curses.color_pair(1));
_curses.error: addstr() returned ERR

最佳答案

你也可以使用 insstr 而不是 addstr:

screen.insstr(ScreenH - 1, ScreenW - 1 - cloclen, cloc,  curses.color_pair(1))

这将阻止滚动,从而允许您打印到最后一行的最后一个字符

关于python - 为什么我不能在 python curses 窗口中将 str() 添加到最后一行/最后一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22456527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com