>백엔드 개발 >Golang >GoNCurses 전경 창이 이동된 후 배경 창을 새로 고칩니다.

GoNCurses 전경 창이 이동된 후 배경 창을 새로 고칩니다.

WBOY
WBOY앞으로
2024-02-10 13:24:09761검색

GoNCurses 在前台窗口移动后刷新后台窗口

php 편집기 Banana는 오늘 GoNCurses 라이브러리를 사용하여 전면 창을 이동한 후 배경 창을 새로 고치는 흥미롭고 실용적인 기술을 소개합니다. GoNCurses는 터미널에서 그래픽 인터페이스를 생성할 수 있는 Go 언어 기반의 ncurses 라이브러리입니다. 하지만 전경 창을 이동할 때 배경 창이 자동으로 새로 고쳐지지 않아 작업에 다소 불편이 따릅니다. GoNCurses에서 제공하는 새로 고침 방법을 사용하면 이 문제를 해결할 수 있으며 전경 창을 이동한 후 배경 창이 자동으로 새로 고쳐지도록 하여 사용자 경험을 향상시킬 수 있습니다. 다음으로 이 기술을 구현하는 방법을 자세히 살펴보겠습니다.

질문 내용

ncurses이 어떻게 작동하는지 이해하려고 노력 중입니다. 다음은 제가 이해하고 작동시키려는 내용의 예입니다.

첫 번째 생각:

  • 배경과 인쇄된 텍스트가 있는 창 1(stdscr)
  • 창 2(swin)는 배경이 다른 창 1 위에 있습니다
  • 창 2를 창 1로 이동

설정은 다음과 같습니다:

으아악

전경 창을 이동하는 데 도움이 되는 매우 간단한 for 루프도 있습니다:

으아악

이제 내가 움직일 때 window 2 배경에 있는 것이 새로 고쳐지지 않고 흔적을 남깁니다:

으아악

댓글을 제거할 때 stdscr.erase()stdscr.noutrefresh() 时,我修复了踪迹,但当然我丢失了后台窗口上的所有数据,例如文本 "abcdefghijklmnopq...": p> 으아악

기본 창의 하위 창을 window 2 作为主窗口的子窗口,但没有成功。我该如何解决/处理这个问题?通常如何使用 ncurses 만들어 보았지만 성공하지 못했습니다. 이 문제를 어떻게 해결/처리할 수 있나요? 겹치는 창은 일반적으로

를 사용하여 어떻게 관리됩니까? 감사해요!

해결 방법

curses는 직접 지원되지 않습니다(panel라이브러리 참조). 그렇지 않으면 해결 방법으로 touchwin 作为解决方法(使用 dialogcdktouchwin

을 사용해야 합니다(대화 상자 및 CDK 완료) 🎜

위 내용은 GoNCurses 전경 창이 이동된 후 배경 창을 새로 고칩니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제