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
tamachi.goを支える技術
rymiyamoto
0
130
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
240
Cloudflare製品を活用した AIガバナンス実践入門 / AI governance with Cloudflare Service
delta_tech
1
170
VPCでもFloatingIPを使いたいんだ
y_kotani
1
140
全社に広がるMCPサーバーを、 どう安全に管理するか MCPass開発の舞台裏
mtpooh
3
230
hookで自作する Claude Code の「実況ボード」
shinyasaita
2
280
AI時代のキョウソウ戦略
ystk
2
110
AI駆動開発はどこまで来たのか? ファインディの最新実態調査で読み解く現在地 Devin Con Tokyo
akiratom
5
2.3k
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
1.1k
『自分で判断できるか』を基準に、プロダクトのハンズオン研修でAI利用の線を引いてみた / Where We Drew the Line on AI in Hands-on Training
honyanya
1
780
Level Up Your CDK DX: 5 Tools I’ve Been Building
gotok365
2
170
書籍『生成AIの安全性入門』の入門
wataoka
0
150
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.5k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
460
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Designing for Performance
lara
611
70k
Being A Developer After 40
akosma
91
590k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
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