我玩弄诅咒,无法在屏幕上画一个盒子。我创建了一个可行的边框,但我想在边框中画一个框
这是我的代码
import curses screen = curses.initscr() try: screen.border(0) box1 = curses.newwin(20, 20, 5, 5) box1.box() screen.getch() finally: curses.endwin()
有什么建议吗?
从诅咒文档:
当您调用显示或删除文本的方法时,效果不会立即显示在显示屏上。… 因此,诅咒要求您使用窗口对象的 refresh() 方法明确地告诉它重绘窗口 。…
当您调用显示或删除文本的方法时,效果不会立即显示在显示屏上。…
因此,诅咒要求您使用窗口对象的 refresh() 方法明确地告诉它重绘窗口 。…
您需要screen.refresh()并box1.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)自动刷新窗口
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()