Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Gauche-Tkで簡単GUIプログラミング
Search
Minoru Natsutani
May 24, 2012
Technology
1.8k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Gauche-Tkで簡単GUIプログラミング
Minoru Natsutani
May 24, 2012
More Decks by Minoru Natsutani
See All by Minoru Natsutani
3D Gaussian Splatting勉強会
natsutan
0
12
初めての模倣学習とVLA
natsutan
0
390
放熱勉強会資料
natsutan
0
40
グラフの書き方勉強会
natsutan
0
110
Googleのロボット技術紹介。RT-1からGemini Robotics-ER 1.5 まで
natsutan
0
100
動き検出勉強会資料
natsutan
0
60
WindowsでGenesisに挑戦した話
natsutan
0
580
辛い仕事をプリキュアで乗り切りHack
natsutan
0
100
論文読み勉強会 RoboGen
natsutan
0
400
Other Decks in Technology
See All in Technology
[RSJ26] Building a VLA Model Based on Self-Distilled Classification
keio_smilab
PRO
0
160
Sony-DroidKaigi2026
sony
0
220
Bet AI Day 2026丨AIを「使う」から、AIが「働く」へ ― LayerXが進める「組織AI」の社会実装
layerx
PRO
2
1.4k
Backstageでつくるセルフサービスな社内開発基盤
kikunosuke75
1
160
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
240
Digitization部 紹介資料
sansan33
PRO
2
7.8k
[RSJ26] Flow as Flow: Modeling Robot Velocity Fields as Probability Velocity Fields
keio_smilab
PRO
0
170
LLMアプリ、 雰囲気で運用してませんか? 〜LLMOpsの現在地〜
taka_aki
1
650
Level Up Your CDK DX: 5 Tools I’ve Been Building
gotok365
2
170
AIレビュー時代に必要なのは、SLOで引く撤退ライン
nobuoooo
0
160
Kiro5兄弟のいまどきのセキュリティ基礎知識
kentapapa
0
480
みてねにおけるAI-DLC導入活動とAIドリブン開発の現在地/JAWS-UG AI-DLC #2
isaoshimizu
2
320
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
480
YesSQL, Process and Tooling at Scale
rocio
174
15k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
Test your architecture with Archunit
thirion
2
2.4k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Building the Perfect Custom Keyboard
takai
2
860
Site-Speed That Sticks
csswizardry
13
1.5k
Ethics towards AI in product and experience design
skipperchong
2
360
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Transcript
Gauche-Tkで簡単GUIプログラミング Kyotolisp TT 2012/05/12 なつたん
アジェンダ 自己紹介 Gauche-Tkの紹介 サンプルアプリケーション これからやりたい事
アジェンダ 自己紹介 Gauche-Tkの紹介 サンプルアプリケーション これからやりたい事
自己紹介 なつたん エンジニア歴 組込プログラマ 3年 FPGAでVerilog-HDL,
VHDLプログラマ 10年 Tcl/Tk プログラマ 1年 ← Now ! Twitter id natsutan Blog なつたん http://natu.txt-nifty.com/ ぱたヘネ http://d.hatena.ne.jp/natsutan/
最近作ったLispアプリ LispWorksを使ったオ セロゲーム GUIはLispWorksに付 属のツールキット (CAPI) 2人の娘とあそぶ
コマを片付けなくて良い。 コンピュータは制御する ものという概念を教える。 一番のメリット:新しいプリキュアにもすぐ対応できる
アジェンダ 自己紹介 Gauche-Tkの紹介 サンプルアプリケーション これからやりたい事
Gauche-Tkの紹介 Gauche-Tk Shiroさんが作ってくれたGauche用Tk binding Gaucheから、Tkが呼び出せる。 Tcl/Tkを知っていれば、GaucheでGUIアプリが簡単に
書ける。 知らないと面倒です。
Tkの紹介 GUIのToolkit Binding が多い Tcl/Tk Perl/Tk
Ruby/Tk Tkinter (Python) Ltk (Common Lisp) Gauche-Tk (New!)
Gauche-Tkの始め方 Head版のGaucheを入手 Ubuntu、Cygwinはドキュメント通りでbuildできます。 http://practical-scheme.net/gauche/download-j.html Windows版はコンパイル済みの物を配布してます。
http://d.hatena.ne.jp/natsutan/20120410 Gauche-Tkの入手 https://github.com/shirok/Gauche-tk Tcl/Tkの入手 Windows の人は Active Tclが便利 最新版の Gauche 0.9.3ならそのまま動きます。
最初のサンプル
アジェンダ 自己紹介 Gauche-Tkの紹介 サンプルアプリケーション これからやりたい事
簡単なスタック型の電卓 スタックは1段 入力はRPN 整数演算のみ ソースはgithubに https://github.com/natsutan/scm2exe/tree/master/target_sample/calc_scm
1. Tk初期化 Gauche-Tkのimport Tcl/Tkインタープリタへのパス /usr/local/bin/wish等 *tk-debug* を#tにすると、 wishとの通信が表示される。 Wishの起動
2. Windowの作成 アイコンの変更
3. ボタンの作成 ボタン幅の計算 ボタン 追加 Callback関数
4. Gauche-Tkのイベント処理 Gauche (gosh) Tcl/Tk (wish) ① Gauche-Tkの初期化 (tk-init ‘())
の呼び出し ①’Tcl/Tkのイベントハンドラ登録 Proc gauche__tk__callback ②Callback付きWidgetsの登録 (tk-button '.b :command (^[] (print"Yeah!"))) ②’Tcl/TkのWidgetの登録 button .b ¥ –command gauche__tk__callback 1 ③Tcl/Tkでイベント発生 gauche__tk__callback 呼び出し ③’対応するλ式の実行 (print"Yeah!")
5. ボタンのイベントハンドラー (省略) ・Enterキーの処理 電卓に表示されている値をスタックに設定 ・+ - x / の処理
押されたボタンに対応する関数を引数 にして、calcの呼び出し ・計算部分 op0 に電卓に表示されている値 op1 にスタックの値 (operator op1 op0) の評価 ・計算結果の処理 計算結果を電卓に表示 計算結果をスタックに設定
アジェンダ 自己紹介 Gauche-Tkの紹介 サンプルアプリケーション これからやりたい事
これからやりたいこと 他Scheme処理系への移植 Guile2をターゲット チュートリアル Tkinter、Ltkも一緒に
他のTcl/Tkモジュールとの連携など(COMで Excel操作等) 単一exe化 作ったGUIプログラムを単一のexeにしたい。 非プログラマの人にも使ってもらいたい。 人は辞めてもexeは残る
単一exe化への道 Tcl/Tkでは実現できている。 Tclkit Foo.tclをfoo.exeにしてくれる。 技術的なポイント
Tcl上に構成された仮想ファイルシステム(ここに必要な ファイルをすべて入れる) スタートアップルーチン 他の言語も同じやり方で統一したい Python、CLISP、Guile等
おしまい Gauche-Tkを使うとGUIアプリが簡単に作れる。 GaucheはHEAD版を使ってください Windows版はインストーラ作りました 「Gauche-tk ぱたへね」で検索
最新版 Gauche 0.9.3 を使ってください。 今日のサンプルはgithubに https://github.com/natsutan/scm2exe/tree/master/target_sample/calc _scm