Python 诅咒,将终端窗口分成 4 个垫 - prefresh() 返回 ERR

Car*_*rlo 6 python curses python-curses

我正在Python中运行一个多处理系统,我计划使用curses将终端窗口分为4个象限,并在其中一个象限中显示每个进程的输出。

所以,最终的输出应该类似于:

--------------------------------
|               |               |
|   PROCESS01   |   PROCESS02   |
|               |               |
---------------------------------
|               |               |
|   PROCESS03   |   PROCESS04   |
|               |               |
---------------------------------

Run Code Online (Sandbox Code Playgroud)

到目前为止,我尝试将窗口分成 4 个部分,如下所示:

--------------------------------
|               |               |
|   PROCESS01   |   PROCESS02   |
|               |               |
---------------------------------
|               |               |
|   PROCESS03   |   PROCESS04   |
|               |               |
---------------------------------

Run Code Online (Sandbox Code Playgroud)

但我收到错误:

File "screen_show.py", line 78, in <module> main()
                                                                                                          File "screen_show.py", line 46, in main
                                                                                                                                                     pad12.refresh(0,cols_mid, 0,cols_mid, rows_mid,cols_tot-1)
_curses.error: prefresh() returned ERR
Run Code Online (Sandbox Code Playgroud)

xit*_*ong 3

这些行应该更改为

pad11.refresh(0,0, 0,0, rows_mid,cols_mid)
pad12.refresh(0,0, 0,cols_mid, rows_mid,cols_tot-1)
pad21.refresh(0,0, rows_mid,0, cols_tot-1,rows_mid)
pad22.refresh(0,0, rows_mid,cols_mid, rows_tot-1,cols_tot-1)
Run Code Online (Sandbox Code Playgroud)

结果: 最后结果

完整的工作代码

pad11.refresh(0,0, 0,0, rows_mid,cols_mid)
pad12.refresh(0,0, 0,cols_mid, rows_mid,cols_tot-1)
pad21.refresh(0,0, rows_mid,0, cols_tot-1,rows_mid)
pad22.refresh(0,0, rows_mid,cols_mid, rows_tot-1,cols_tot-1)
Run Code Online (Sandbox Code Playgroud)