我对刷新终端有问题。我正在使用python和curses模块。有一个随机名称生成器,它在程序开始时在预定义的文本旁边显示生成的名称。用户可以修改名称(添加/删除字符)。你知道吗
问题出在哪里?在屏幕的开头只显示预定义的文本。已输入生成的名称,但所有字符均为黑色,用户无法看到它。仅当名称被修改时屏幕才会刷新,即用户添加新字母或删除最后一个字母。你知道吗
我想刷新屏幕后刚刚产生的名称。你知道吗
Algo:(GetStringName函数的一部分)
str = true_heroname #generated name
self.screen.move(y, x + len(str))
self.screen.refresh() #it should refresh screen after placing generated name
self.screen.addstr(y, x, prompt, pattr)
x += len(prompt)
while True:
self.screen.move(y, x + len(str))
self.screen.refresh()
####AND BELOW CODE TO ADD/REMOVE LETTERS###
此函数用于在主菜单中生成名称:
self.name = Global.IO.GetStringName("What's your name? ", noblank=True, pattr=c_yellow, iattr=c_Yellow)
#c_yellow and c_Yellow are predefinied colors
我希望描述和代码剪清楚。你知道吗
如何在输入生成的名称后自动刷新屏幕?你知道吗
你的帖子并没有让我完全明白你的问题,但如果我能指出一种在屏幕上画画的一般方法,也许会有所帮助。 我想你的自动屏幕是真正的诅咒
stdscr
。你知道吗相关问题 更多 >
编程相关推荐