1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

マルチプラットフォームGUI作りに挑戦 ~tcl/tkの環境構築~

Last updated at Posted at 2019-07-14

#環境
OSX 10.14.5
Homebrew 2.1.6

#イントロ
画像処理プログラムを動かすオープンソースでマルチプラットフォームな簡易GUIを簡単に作成したかった。
候補にはopencvのhighguiをこねくるか、cvuiを入れるか、qtをお勉強するかだったが、パラメタのやり取りを外部のテキストファイルとやり取りしたい、でも学習コストはかけたくないとか考えるうちにtcl/tkを利用することにした。
shellscriptが得意なら、この選択肢はとてもいいはず。
WSL2の普及への期待からもshell言語は色々試すのは価値があるかもと。

もともとOSXにはtcltkが入っているが、どうせなら最新バージョンを入れるところから。
でも元気がなかったのでビルドはやめてHomebrewを使った。
(本当のところは、デフォルトで入っているtcl/tkさんは、表示がもっさりしていて、refleshかけないとbuttonのtextが表示されず、一度reinstallしたかったから)

#現在のバージョン確認

% wish 
% info patchlevel
8.5.9

実はそんなに古くないらしい
(最新は8.6.9 2019/07/01現在)

#Homebrewでのインストール

brew update
brew install tcl-tk

tcltkではなくtcl-tkとハイフン入りなのに注意
(良い子は事前に調べておきましょうね)

If you need to have tcl-tk first in your PATH run:
  echo 'setenv PATH /usr/local/opt/tcl-tk/bin:$PATH' >> ~/.tcshrc

For compilers to find tcl-tk you may need to set:
  setenv LDFLAGS -L/usr/local/opt/tcl-tk/lib;
  setenv CPPFLAGS -I/usr/local/opt/tcl-tk/include;

For pkg-config to find tcl-tk you may need to set:
  setenv PKG_CONFIG_PATH /usr/local/opt/tcl-tk/lib/pkgconfig;

==> Summary
🍺  /usr/local/Cellar/tcl-tk/8.6.9: 2,983 files, 50.1MB

と言われるので、自前でパスを通しましょう(次節)

tclshとwishのパスの整理

実行ファイル

もともと通っているものはwhich wishwhich tclshls -lで調べておく。
なお私のデフォルトシェルはtcshです。

% ls -l `which tclsh wish`
lrwxr-xr-x /usr/bin/tclsh -> tclsh8.5
lrwxr-xr-x /usr/bin/wish -> wish8.5

tclsh8.5wish8.5にリンクされているだけのようなので、削除して~/.tcshrcbrewが教えてくれたパスを書き込んでパスの再読み込み(source ~/.tcshrc)しておく。

ライブラリパス

pkg-config用に通しておく。C++でプログラミングしない人は無視していい。

デモスクリプトの確認

widget Demoを見てみる。
まず、info patchevelでバージョン確認。

% wish
% info patchlevel
8.6.9

出てきているwishのwindowから、ファイルメニューでFile>Run Widget Demo
無事に表示されればOK。
Demoを見ているだけでも楽しいですね。

参考

[Homebrew] (https://formulae.brew.sh/formula/tcl-tk)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?