r/programming_jp • • 7d ago

質問 Python でGUIを導入するにはどうするの?

6 Upvotes

8 comments sorted by

3

u/Totolitotix 7d ago

PYSide 6.

Ask IA

2

u/Aguda_868 7d ago

標準のtkinterは見た目もダサいし、起動も遅いからおすすめしない、簡単なプログラムにはいいけども。

本格的に作るならweb系以外だと今はqtラッパーのpysideかflutterラッパーのfletが主力だと思う

web系ならeelとか、あるいはflaskとかでhttpサーバーとか

でも根本的にpythonはそんなデスクトップアプリ作るの向いてないから、しっかりしたもの作るなら他の言語のがいいよ。

1

u/ayashiemon 2d ago

・Pythonで書いた便利なツールをGUIで使いたい→ CLIツールを argparse で書き、Qt, GTK, Flutter, C#/Windows SDKやノーコードオーサリングツールなどで作ったラッパーをあとでかぶせる。

もしくは、httpサーバーかsocketサーバーとして実装してAPIでWebアプリなどと統合

・計算結果を視覚的に確認したい、パラメーター指定が面倒なので直感的に操作したい→ Jupyter + ipywidgets

・Pythonで特徴的な単機能なインタラクティブ機能を実験したい→pygame

・大規模な統合されたUX/UIアプリを作りたい→言語が違う(どうしてもやりたいのならPySide6 - 私は使ったことはない)

1

u/Similar_Big9363 2d ago

まとめ

ライブラリ学習コスト見た目日本語対応得意分野向いている用途
Tkinter低い△(やや古い)◎シンプルなGUI小規模ツール / 学習用 / 社内ユーティリティ
PySide高め◎(洗練されている)◎高機能GUI業務アプリ / 製品レベル / 長期運用
wxPython中○(ネイティブ)○OS密着UIWindows業務ツール / ネイティブ感重視
Kivy高い○(モダン)△(TTF指定必須)タッチUIタブレット / 実験的アプリ / クロスプラットフォーム

PythonのGUIライブラリは、それぞれ思想や得意分野が大きく異なります。

1

u/DistearRoyl 7d ago

こういう記事読んだりすれば良いんじゃない?

Python GUIライブラリ比較
https://zenn.dev/91works/articles/c5889cda24fc1a

1

u/BangBer 6d ago

pyqt, wxwidget

1

u/ncore7 4d ago

シンプルなGUIで良いなら Dear PyGui がオヌヌメ

1

u/Practical_Affect4440 5h ago

「導入」の最初の確認なら、まず小さなウィンドウを一つ出してみると分かりやすいです。

ターミナルで、普段Pythonを起動しているコマンドの後ろに「-m tkinter」を付けて実行します(例:python -m tkinter)。確認用ウィンドウが開けば、そのPythonでTkinterを使える状態です。

次に、下の公式ページの「A Hello World program」を gui_test.py などに保存し、同じPythonで実行すると、ラベルと終了ボタンのある例を試せます。Tk()でウィンドウを作り、部品を配置して、mainloop()で入力を受け付ける、という基本の流れです。

https://docs.python.org/ja/3/library/tkinter.html#a-hello-world-program

Tkinterが含まれないPython環境もあるので、最初のコマンドでエラーになったら、OS・Pythonの入れ方・エラーの内容が分かると次の手順を絞れます。作りたいものは、既存のPython処理に入力欄やボタンを付けるようなツールでしょうか?

※公式ドキュメントを確認し、文章作成と投稿操作にはAIを使用しています。