ThinQt
지난번 올렸던 Qt/Thin 함께 돌리는 예제를 간단히 만들어 보았습니다. 프로그램은 qt_kendo.rb와 rad_info.rb 두가지로 나뉘어 있으며 qt_kendo.rb에서는 eventmachine의 run loop에서 Qt의 app.process_events 함수를 0.02초 간격으로 호출하며 동시에 Thin 서버를 돌립니다. Qt 프로그램은 간단한 리스트 위젯 몇가지와 버튼 그리고 Webkit 위젯으로 이루어져 있으며 Webkit 위젯에서는 kendoui 라는 자바스크립트를 통해 localhost의 thin 서버에 접속해서 필요한 자료를 json 형태로 받아옵니다. rad_info.rb 프로그램은 사용자화 할 수 있는 프로그램으로 types, query, sub_query, all_query 함수를 가지는 class를 작성하고 QtKendo.run 함수에 class를 전달하면 됩니다. 제가 작성한 것은 sequel을 사용해서 소스와 같은 디렉토리의 sqlite 데이터베이스를 처리하는 것입니다만, 자료는 이런 저런 이유로 생략했습니다. 소스는 github 에서 받을 수 있습니다.