
No.2ベストアンサー
- 回答日時:
良かった。
先鞭が付いた。結果、実の事を言うと、#1氏はこう言ってるが、
> Colabは確かにpython初心者がpythonを学ぶのに便利な環境ですが
実際は、「Colabはpython初心者がpythonを学ぶのに適さない」って事なんだよ。言外に#1氏もそう言ってる。
何故なら貴方のように「Colabを使えばGUIを作れる」って勘違いする人を生み出すから、だ。
プログラミングの仕組みも分からずに?ローカル環境とWeb環境の違いも分からず?Web環境がローカル環境に「アクセス」出来るのがどれだけローカル環境(つまり貴方が使ってるPCだ)に取って「危険」な事になるかも分からず(ColabでGUIが作れる、ってのはそういう事だ)?
ただ念仏のように「簡単だ」って言ってるだけで、実際のトコ「プログラミングにまつわるアレコレ」を学ぶ事から遠ざけている。
単にGoogle Colabは初心者が使うのは「ダメ」なんだよ。
大体、Cobalをプログラミング初心者に薦めるヤツは絶対にトラブルが起きても「助けない」。
そして最悪な事に、最近Google Colabは「Q&Aコーナー」さえ撤去した。過去はスタックオーバーフローへのQ&Aコーナーへと誘導してたのに今はない。
質問コーナーを持ってない、ってぇ事は「初心者向けじゃない」と同義だ。誰か無責任なヤツが初心者に「Google Colabを使えば簡単にプログラミングが学べる!」とか言っても、初心者が疑問に思ってる事を「質問さえ出来やしない」んだ。
ホント、プログラミング初心者にGoogle Colabを薦めるような無責任でバカな奴らは死んだ方がいい、とまで思ってる。そもそも「Google Colabに関する質問」を教えて!gooに質問する事「さえ」間違ってるんだよ。どうして他社サービスへの質問を全く関係ないサイトへ投稿する事になるんだ(そして「教えて!goo」には実際、「泣きついてきた」質問が多い・・・そもそも、どうして「初心者に易しい」のにこんな風になってるんだ?)。
それだけ、「Google Colabを無責任に初心者に薦めた人」はホント、責任を取ってない、って事だ。連中が言ってる事は「口だけ」なんだよ。
貴方は単なる「無責任な奴らの被害者」だ。
結果、#1氏が言ってる通り、
> 普通に pythonをインストールしてローカルで開発しましょう。
ってのが「正しい」んだ。
誰のせいだか知らんが「貴方は入口を間違えた」。
そして何人もの人間が「入口を間違えさせられている」。
どこの誰だか知らんが「無責任な」奴らによって、だ。
さて、貴方が「正しい道」に入ったとして、だ。
まぁ、「GUIを作る」っつっても事実上、「んな事はやらんでエエ」。
実際、#1氏が言ってる通り、
> tkinter は癖がありすぎるし、まともなドキュメントが無いので
> 私は推奨しません。
ってのは正しい。大賛成だ。
っつーか、ベースになってるtcl/tkは「簡単にGUIを作れる」のは作れる、んだけど、かなり制限されている。要は「自由度が低い」。あと、見た目が汚いんだよね。汚い、って言ってアレなら「浮いている」。
WIndowsならWindows、MacならMac、LinuxならLinuxと、「生成されるウィンドウはOSによりデザインが決まってる(厳密に言うとLinuxは違うが)」ってのがフツーなんだけど、tcl/tkで作ったウィンドウってのはそのどれとも「調和しない」んだ(笑)。こういうのを「ルックアンドフィールが違う」と言うんだけど。
結果、tkinterもtcl/tkを受け継いでる以上、そういう性質がある・・・過去よりだいぶマシにはなったけどね。
それはさておき。「GUIを作る」って事をせんでエエ、ってのはどういう事か。
世の中、GUIビルダーってモノがあって、ウィンドウを生成してマウスでペタペタと「部品」(ウィジェット)を貼ってけばいい、ってツールがあんのね。
例えばtkinter対象だとこういうブツがある。
PAGE:
https://page.sourceforge.net
これに対してはブログ程度だけど、以下のような解説ページがあるこたぁある。「基本的な使い方を学ぶ」程度なら充分だろ(あとは、GUIなんで「試行錯誤」で何とかなんだろ・・・多分)。
Python TkinterのGUIデザイナーPAGEの使い方:
https://prtn-life.com/blog/tkinter-page
【Python tkinter】GUI作成ソフト「PAGE」使ってみた :
https://note.com/kochatece/n/nf23ddf76d30e
似たようなページは検索すれば割に引っかかる筈だ。
ただ、PAGEにも弱点がある。平たく言うと「かなりバギー」なんだよな。良く落ちる(笑)。
これ、何でかっつーとPAGE自体が「結構新しい」んだわ。tcl/tkの歴史は長いんだけど、一方、Pythonのtkinter(つまりtcl/tkのラッパー)は、「コマンドでGUIを書く」のが同種のライブラリに比べると簡単な為、お陰でこのテの「GUIビルダーの登場」を遅らせちまったわけ。「テキストでGUIプログラムを書いても簡単じゃん?」って事で。
だから、tcl/tkが古くても、GUIビルダーは「出てきて間もない」、結果、バグっぽい挙動だらけ、って事になる。
さて、#1氏はfletと言うのを薦めてる。それは僕はよう知らんので、別のを薦めてみよう。とは言ってもある意味「GUI生成ライブラリ」のデファクトスタンダードの一つ、だ。その名をwxPythonと言う。
wxPython:
https://wxpython.org
wxPythonは今度は「wxWidgets」と言うGUIツールのラッパーだ。そしてtcl/tkより自由度は高い。反面、同種のライブラリQtよか自由度は低いだろう。
Qt(Python向けのラッパーではPyQtとかPySideがある):
https://www.qt.io/ja-jp/
要はwxPythonは「中庸」だ、って事だ。
もちろんこれを紹介した理由は「GUIコードを書く為」じゃない。理由は2つある。
1. wxWidgetsのラッパーは色んな言語で採用している。結果、今後Pythonから別言語に移動しても同様にwxWidgetsを使える可能性が高い。
2. GUIビルダーがある。
ここでは特に2を強調しておく。「自分でGUIのコードを書く」必要がない、んだ。
wxGlade:
https://wxglade.sourceforge.net/
これの解説ページは例えば以下のようなモノがある。
wxWidgets でクロスプラットフォーム GUIアプリを作ろう:
http://0xcc.net/pub/uu-2004-08/
かなり古い記事で、wxGlade自体の見た目は変わってるけど、「基本的な使い方」は一緒だ。この記事だとC++での使い方を書いてるけど、「生成するコード」をPythonにすればいい話。それで簡単にGUIは作れる。
また、同種の「解説ページ」も結果多い。wxWidgets自体がメジャーな「GUI生成ライブラリ」だから、だな。従って「wxGladeの使い方」で迷う事はそんなにないだろう。
そんなトコかな。
以上。
詳しい解説、ありがとうございます。wxPython、試してみたいと思います。Local環境のPythonもインストールしました。colabは使わずにやっていくたいと思います。
No.1
- 回答日時:
Colabは確かにpython初心者がpythonを学ぶのに便利な環境ですが、本来科学技術計算用のノートを作るためのWebアプリケーションであって、開発環境ではないです。
Webアプリケーション内でデスクトップアプリを動かすのは原理的に無理。普通に pythonをインストールしてローカルで開発しましょう。
蛇足、tkinter は癖がありすぎるし、まともなドキュメントが無いので
私は推奨しません。flet とかがお勧め。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) MacのPythonでの開発について 3 2024/02/09 14:13
- その他(プログラミング・Web制作) Pythonのライブラリ、randomについて 3 2022/09/20 14:30
- ソフトウェア LINUX向けのGUIアプリケーション開発 1 2022/09/21 17:38
- その他(プログラミング・Web制作) Pythonを勉強中で、初歩的ですが教えてください。 今後の目標としてPythonを使用した社内ツー 7 2024/01/14 11:07
- その他(プログラミング・Web制作) Pythonのライブラリをダウンロード済みかどうか簡単にチェックできますか? 3 2023/06/24 10:48
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- JavaScript 【Google Apps Script】「ライブラリ」が追加できなくて困っています。 1 2022/11/10 13:29
- C言語・C++・C# C言語について。 8 2023/11/20 16:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
iCloudフォトライブラリ内の画...
-
Windows Media Playerを開くと...
-
Google ColaboでGUI作成
-
フーリエ変換やFFTのプログラム
-
動画像をキャプチャするプログラム
-
システムコールと標準ライブラ...
-
本格的なGUIを作るのにおすすめ...
-
画像のBease64へのエンコ...
-
【VBA】イベントログの取得
-
C言語について。
-
python urlopen error について...
-
AJAXでSOAPを利用する定番の方...
-
VS2010でC#のDLLを作成する手順
-
declaration of 'index' shadow...
-
サブルーチンについて。
-
VB.NET とドットNET(.NET...
-
魚眼画像について
-
String^の^自体が何を意味して...
-
ど素人が勉強していくプログラ...
-
フリーソフト作成環境を教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows Media Playerを開くと...
-
Google ColaboでGUI作成
-
python urlopen error について...
-
システムコールと標準ライブラ...
-
iCloudフォトライブラリ内の画...
-
本格的なGUIを作るのにおすすめ...
-
C言語について。
-
ライブラリ作成時のグローバル...
-
設定ファイルを扱うライブラリ...
-
MFCとWIN32API
-
C++ 標準ライブラリの実際の中...
-
declaration of 'index' shadow...
-
Ps+のフリープレイでDestiny2の...
-
マウスのクリックを自動で
-
LIBCMT.LIBをリンクしてコンパ...
-
お絵かきソフトプログラミング...
-
ISOイメージの作成方法について
-
boostのアンインストールについて
-
C# EXCELセルの入力規則設定に...
-
unix-c と linux-c の違いは?
おすすめ情報