こんにちは、Hiraです🌷
Pythonでツールを作ろうとしたとき、私はGUI(グラフィカル・ユーザー・インターフェース)化に何度もつまずきました。
特に Tkinter(ティーキンター) ではうまくレイアウトが表示されず、何度もチャレンジしてはあきらめていました。
でも今回、Streamlit(ストリームリット)を使ってみたら…まさかの1発成功✨
しかも可愛いグラフィックで、直感的で、コード1ファイルで動く✨
今回はそんな「Tkinterとの相性最悪だった私が、StreamlitでGUI化に成功した記録」をまとめてみます。
GUI化にずっと苦手意識があった

TkinterでGUIを作ろうとするたびに、レイアウトが崩れたり、入力欄が出なかったりで…「もう無理!」ってなっていたんです。

Tkinterは自由度は高いけど、初心者にはちょっと難しい面があるよね。

Macの環境だと表示も不安定で、いろいろ試しても結果は変わらず…。
ほんと、私には相性が悪すぎました!
そんな時に見つけた「Streamlit(ストリームリット)」
Streamlitは、PythonだけでWebアプリが作れる超シンプルなライブラリです!
しかもたった1ファイルでGUIが作れる優れもの✨

びっくりするくらい簡単にWebアプリができた✨
Tkinterで何度も悩んでた時間が嘘みたい!
Streamlitでやったこと
まずはターミナルでインストール(一度インストールしておけばOK!)
pip install streamlit
Pythonファイルを作成
アプリのコードは .py
ファイルに書きます。
※GitHubにアップ予定なので、ここでは省略!
実行時の注意点!
実行時に打つコマンドには注意です!
streamlit run app.py

最初、いつもの癖で python app.py
って打っちゃって、プロンプトが返ってこなくなったから焦った〜!
ここまでで簡単に実行できます!
補足:メール入力プロンプトはスキップ可!
👋 Welcome to Streamlit!
If you'd like to receive helpful onboarding emails...
Email:

初回だけ「メールアドレス入力してね」って英語で出るけど、これは空Enterでスキップした!

あとでマーケティング情報を受け取る用だよ。無視しても全然問題ないよ!
Streamlitのメリット・デメリット
優れたStreamlitですが、もちろんデメリットも存在します。
Streamlitのメリット・デメリットは次のとおりです!
メリット | デメリット |
---|---|
コードが超シンプル | Tkinterより見た目は固定的 |
Webブラウザ上で即実行できる | カスタマイズ性は少なめ |
GUIが自動で整って表示される | 複雑なレイアウトには向かない |
共有・公開もしやすい | オフラインアプリには不向きかも |

初心者の私にとっては、今のところメリットの方が大きいように感じました!
まとめ:GUIで悩んでるならStreamlitを使ってみて!
- Tkinterで挫折した人でもすぐ動く!
- GUIの見た目を気にせず、PythonだけでWebアプリに
- 複雑なコードなしで「動くもの」が作れる感動がある!
私自身もGUIの壁にぶつかって少し挫折していましたが、Streamlitなら「ちょっと作ってみようかな」が実現できそうなので、これからPython×Streamlitで作ってみたいWebアプリに挑戦してみたいと思います!
ここまで読んでいただきありがとうございました🌼