как удалить панель и окно с python curses - PullRequest
0 голосов
/ 14 декабря 2018

документация на самом деле не упоминает, как удалить окно или панель;

c api проклятий имеет функции delwin и del_panel, но ни одна из них не доступна в python api;Означает ли это, что правильный способ удаления окна в python - просто отсоединить все ссылки на него и позволить ему собирать мусор?относится ли то же самое к панели?


единственное место, где я нашел del_panel, вызывается в модуле python curses.panel, в деаллокаторе:

static void
PyCursesPanel_Dealloc(PyCursesPanelObject *po)
{
    PyObject *obj = (PyObject *) panel_userptr(po->pan);
    if (obj) {
        (void)set_panel_userptr(po->pan, NULL);
        Py_DECREF(obj);
    }
    (void)del_panel(po->pan);
    if (po->wo != NULL) {
        Py_DECREF(po->wo);
        remove_lop(po);
    }
    PyObject_DEL(po);
}
...