6
하스켈의 gtk2hs 라이브러리를 사용하여 작은 GUI 응용 프로그램을 작성 중이며 현재 multiline text boxes으로 작업 중입니다. 사용자가 텍스트 상자 내에서 텍스트를 변경할 때 실행할 함수가 있지만 단추를 클릭하여 텍스트 상자를 활성화하지 않아도됩니다.사용자가 텍스트 입력을 중단 할 때 함수 실행
더 많은 방해와 처리가 필요한 기능 (그래픽을 그으므로 파일을로드하는 등) 때문에 사용자가 수행 할 때마다 실행하지 않기를 바랍니다. 변경 bufferChanged 신호가 텍스트 버퍼에 있습니까?)하지만 변경 사항 사이에 몇 초 동안 멈출 때. 자신의 업데이트 정책이 continuous or delayed로 설정 할 수 있습니다 방법 range widgets 유사 GTK에 뭔가가있는 경우
는 기본적으로 궁금하지만, 텍스트 상자에 대한
wxHaskell에서 비슷한 일을 한 방법은 (설정 가능) 1 초 지연으로 설정된 Timer 개체를 사용하고 타이핑이 완료되면 초 단위로 지연되는 효과가있는 사용자 유형을 사용할 때마다 사용하도록 설정하는 것이 었습니다 . 나는 gtk를 포기 했으므로 익숙하지 않지만, [Graphics.UI.Gtk.General.General] (http : //)에서'timeoutAdd' 또는'timeoutAddFull'과'timeoutRemove'를 사용하여 비슷한 것을 할 수 있습니다. hackage.haskell.org/packages/archive/gtk/0.12.3/doc/html/Graphics-UI-Gtk-General-General.html). – AndrewC
Haskell 포트에서 무엇이 호출되는지 알지 못하지만, 이것은 g_idle_add()가 무엇을위한 것입니까. – ptomato
또는 (@ AndrewC의 제안에 따라) 최종 사용자 입력 시간을 기록하고 무거운 코드를 실행할시기를 결정하기 위해 정기적 인 제한 시간을 확인하십시오. – ergosys