【发布时间】:2015-04-28 15:58:44
【问题描述】:
我在刷新终端时遇到问题。我正在使用带有curses模块的python。有随机名称生成器,它在启动程序时在预定义文本旁边显示生成的名称。用户可以修改名称(添加/删除字符)。
问题出在哪里?在屏幕开始时仅显示预定义的文本。输入了生成的名称,但所有字符都是黑色的,用户看不到它。仅在修改名称时刷新屏幕,即用户添加新字母或删除最后一个字母。
我想在生成名称后刷新屏幕。
算法:(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
我希望描述和剪断的代码清晰。
如何在输入生成名称后自动刷新屏幕?
【问题讨论】:
-
信息不足(简短而完整的程序会有所帮助)。
标签: python python-2.7 terminal refresh curses