Windows環境の日本語サポートとttk拡張のサポートです。
最新版はこちらから入手してください。
https://github.com/shirok/Gauche-tk
以前のバージョンでは、Windows環境で日本語の文字化けがありましたが、このバージョンから特に何もしなくても日本語を使用できます。ttkに関しては、ttk-button, ttk-combobox のような形でtkのwidgetsと同じように呼び出せます。
サンプルプログラム
;; simple combobox example (use tk) (wish-path "wish") (with-module tk (set! *tk-debug* #t)) (tk-init '()) (define *signlist* '("白羊宮" "金牛宮" "双児宮" "巨蟹宮" "獅子宮" "処女宮" "天秤宮" "天蝎宮" "人馬宮" "磨羯宮" "宝瓶宮" "双魚宮")) (define *saintlist* '(ムウ アルデバラン サガ デスマスク アイオリア シャカ 童虎 ミロ アイオロス シュラ カミユ アフロディーテ)) (define *current* 0) ; 初期値 (tk-set! "::saint" (car *saintlist*)) (tk-set! "::sign" (car *signlist*)) ; ボタンを押すと::saintを読み出して表示する (define display-saint (lambda () (tk-messageBox :type 'ok :title "Saint" :message (format "~a:~a" (tk-ref "::sign") (tk-ref "::saint"))))) (tk-label '.l :textvariable "::sign") (ttk-combobox '.cb :textvariable "::saint" :values *saintlist*) (ttk-button '.b :text "Push" :command display-saint) (tk-pack '.l '.cb '.b) ; イベント処理 ; commboboxが選択されると、labelの表示を変更 (tk-bind '.cb '<<ComboboxSelected>> (tklambda () (let ((index (x->integer (tk-call '.cb 'current)))) (tk-set! "::sign" (ref *signlist* index))))) (tk-mainloop)
実行時のスクリーンショット