【发布时间】:2019-03-12 04:35:44
【问题描述】:
我正在使用 curses 打印一个非常漂亮的控制台 UI,我需要一些取决于终端大小的东西。为此,我阅读了here,我可以使用shutil.get_terminal_size。
所以我正在做这个代码:
def display(self):
size_x,size_y = shutil.get_terminal_size()
print(size_x,size_y)
window_stat = curses.newwin(size_y,size_x//2-5,0,0)
window_alert = curses.newwin(size_y,size_x//2-5,0,size_x//2+5)
window_alert.addstr("\n " + self.alert2string())
window_stat.addstr("\n " + self.stat2string())
window_alert.box()
window_stat.box()
self.stdscr.refresh()
window_stat.refresh()
window_alert.refresh()
但最快的是,我第一次调用该函数时它运行良好,但如果我使用鼠标更改终端大小并调用该函数,shutil.get_terminal_size() 的结果将始终保持不变。 (120 30)。
你知道它可能来自哪里吗? (我实际上是在运行 Windows,我希望它能够在所有常见的操作系统下工作)
非常感谢大家!
【问题讨论】:
标签: python python-3.x terminal curses shutil