rustのGUIをさがす旅
今年はrustをやっていきたい。とかいたところで、
やはりちょっとしたGUIが欲しくなるので
なんかよさげなライブラリやツールキットないものかと探してみるも
・日本語入力、表示どちらもOK
・windows、macOS、Linuxのクロスプラットフォーム対応
・ボタンなどUI要素の細かいデザインにそこまでこだわらない
・かわりになるべく軽いもの
・GUI作るのにrust以外のJavaScriptやCSSなどを書かないで済む
・webviewやwebブラウザに依存しない
・サンプルやチュートリアル、その他ドキュメント多いとうれしい
みたいな希望をあげつつ探してみたところ意外とあてはまるものはなくて。
よさそうなのはTkかFltkあたりがよさそう。
というところでpythonでも使うケース多いしまずはTkでやってみよう。
で、調べてみると。
RustとTcl/TkでGUIアプリを作ろう
https://news.mynavi.jp/techplus/article/rustalgorithm-20/
とちょうど入門によさそうな記事が。
Tcl/Tkのクレートはこちらで
https://crates.io/crates/tk
プロジェクトページはこちら。
rust tk
https://oooutlk.github.io/tk/
で、Windowsでのセットアップは
Installing Tk
https://oooutlk.github.io/tk/installing_tk.html
Installing Tk On Windows
https://oooutlk.github.io/tk/installing_tk_on_windows.html
と、そこらをひとまず読んでみると
WindowsでTcl/Tk使うならactivestateのActiveTclでインストールするのが一番簡単だよ。
バージョンが8.6.xのをダウンロードしてね。
こちらで動作確認したのはwindwos10にActiveTcl8.6.9.8609-2だよ。
とか書いてある。
ただこのActiveTclがダウンロードにメールアドレス登録が必要だったりこれまで無償利用
可能な環境・条件だったものが厳しくなって有償利用でないとだめなケースが増えてるようで。
で、代わりを探してみると
WindowsのTcl/Tkの実行環境
https://qiita.com/qoLop/items/392153b7719d0770d70c
とまさに知りたかったことをまとめてくださっている方が。
というわけでMagicsplatでどうにか
Magicsplat Tcl/Tk for windows
https://www.magicsplat.com/tcl-installer/index.htm
Downloads are available from Sourceforge.とのことなので
https://sourceforge.net/projects/magicsplat/files/magicsplat-tcl/
を見てみるとこちらでも配布されているパッケージが8.6.16と9.0.1の2種類があるので
前述のおすすめ&動作確認済みが8.6.x系だったのでそちらをダウンロードしてインストール。
インストール終わったら適当なフォルダ作ってテスト
>mkdir tkrs
>cd tkrs
>cargo init
>cargo add tk
>cargo add tcl
で、Installing Tkのページにあったサンプル、The Obligatory First Programを
main.rsに書いてcargo runしてみると
Tcl_なんとかがnot found in 'clib'だよ!ってエラーがたくさん出る。
で、調べてみるとllvmに関連してエラーがでることがあるっぽいのでllvmいれてみる。
llvm/llvm-project
https://github.com/llvm/llvm-project/releases
から最新のLLVM-19.1.6-win64.exeダウンロードしてインストール
途中でPATHにllvm追加する?って聞かれるので、すべてのユーザーの環境変数に追加を選択。
(これが現在のユーザーの環境変数にのみ追加だとだめなので注意)
インストール終わったら改めてcargo runすると
こんな感じの小さいウインド表示されたらできあがり。
Fltkのほうもあとで試してみる。
コメント
コメントを投稿