我在玩诅咒,我无法在屏幕上画一个框。我创建了一个有效的边框,但我想在边框中绘制一个框
这是我的代码
import curses
screen = curses.initscr()
try:
screen.border(0)
box1 = curses.newwin(20, 20, 5, 5)
box1.box()
screen.getch()
finally:
curses.endwin()
有什么建议吗?
来自诅咒文档:
当您调用方法来显示或擦除文本时,效果不会立即显示在显示器上。...
因此,curses 要求您使用 窗口对象的refresh()方法明确告诉它重绘窗口。...
你需要screen.refresh()
并box1.refresh()
以正确的顺序。
工作示例
#!/usr/bin/env python
import curses
screen = curses.initscr()
try:
screen.border(0)
box1 = curses.newwin(20, 20, 5, 5)
box1.box()
screen.refresh()
box1.refresh()
screen.getch()
finally:
curses.endwin()
或者
#!/usr/bin/env python
import curses
screen = curses.initscr()
try:
screen.border(0)
screen.refresh()
box1 = curses.newwin(20, 20, 5, 5)
box1.box()
box1.refresh()
screen.getch()
finally:
curses.endwin()
您可以使用immedok(True)
自动刷新窗口
#!/usr/bin/env python
import curses
screen = curses.initscr()
screen.immedok(True)
try:
screen.border(0)
box1 = curses.newwin(20, 20, 5, 5)
box1.immedok(True)
box1.box()
box1.addstr("Hello World of Curses!")
screen.getch()
finally:
curses.endwin()