我想为 python 游戏创建一个基于文本的 GUI。我打算在多行文本之间移动一个字符。经过几个小时的在线搜索后,我发现的解决方案对此不起作用。我想要一些能够擦除屏幕上所有文本的东西,这样我就可以重新打印同一行,但角色移动了一个空格。需要明确的是,我要删除的屏幕是当您在空闲状态下点击“运行模块”时出现的屏幕。另外,我无法导入任何外部库,因为由于某种原因,它在我的计算机上损坏了。
我试过ctrl+l。它绝对没有做任何事情。
我尝试使用 os.system('cls') (我在 Windows 上)它打开命令提示符,清除它,然后关闭它。不是我需要的。
print ("\n" * 50) 有效,但不会清除屏幕。屏幕必须清晰,我不想打印一百万行新行。
这是我的代码:
import sys
valone = 5
valtwo = 5
# create line of text
sys.stdout.write(" a " * valone + " t " + " a " * valtwo)
# move t character 1 space
valone = valone -1
valtwo = valtwo + 1
# clear screen and redraw line with t moved 1 space.
这是 IDLE 的 Python shell 不可能实现的。
From 文档 https://docs.python.org/3/library/idle.html#user-output-in-shell:
Shell 永远不会丢弃输出。
and
制表符导致以下文本在下一个制表位之后开始。 (它们每 8 个“字符”出现一次)。换行符会导致以下文本出现在新行上。其他控制字符将被忽略或显示为空格、方框或其他内容,具体取决于操作系统和字体。
这意味着它是一个非常基本的 shell,以线性方式输出所有文本。您需要在不同的 shell 中运行 Python 才能完成您想要的任务。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)