我正在玩诅咒,我无法在屏幕上画一个盒子。 我创建了一个有效的边框,但我想在边框中绘制一个方框
这是我的代码
import curses
screen = curses.initscr()
try:
screen.border(0)
box1 = curses.newwin(20, 20, 5, 5)
box1.box()
screen.getch()
finally:
curses.endwin()
任何建议?
答案 0 :(得分:5)
来自curses docs:
当您调用方法来显示或删除文本时,效果不会 立即出现在显示屏上。 ...
因此,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()
答案 1 :(得分:2)