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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
ものづくりに向いているプログラミング言語ってなんですか?家電にもプログラミングが使われてるとか
その他(プログラミング・Web制作)
-
LeetCodeていうの初めて、
C言語・C++・C#
-
ハッシュテーブル(連想配列)が、キーのリストと値のリストを返すような実装の時、これらの位置が対応関係
その他(プログラミング・Web制作)
-
-
4
WindowsのCapsLock(キャップスロック)って、何の意味があるんですか?
C言語・C++・C#
-
5
double型が正常に認識されていない恐れ
C言語・C++・C#
-
6
昔のパソコン少年の武勇伝「店先のパソコンでゲームを作成し、それを売り、その金でパソコンを買う」本当?
その他(プログラミング・Web制作)
-
7
プログラミング言語の制作方法について
C言語・C++・C#
-
8
どなたかこのプログラミングを完成させて欲しいです。 ヒントはこちらです↓ 青色:ゲームプログラムのル
C言語・C++・C#
-
9
そのまま使っただけなのに・・・python
その他(プログラミング・Web制作)
-
10
これなにがちがうんですか??
C言語・C++・C#
-
11
プログラムの素朴な質問です 分岐するコードを書く時に、 /** * 関数 */ sub(){ ...
その他(プログラミング・Web制作)
-
12
Pythonでターミナルに文字を出力する命令を出せるprintが予約語でないのは何故ですか。予約語は
その他(プログラミング・Web制作)
-
13
家庭のパソコンで Python の 環境構築を行います。 windows 11 です 事情があって
その他(プログラミング・Web制作)
-
14
C言語の関数と配列に関する質問
C言語・C++・C#
-
15
IT業界より楽に稼げる業界ってあるんですか?銀行とか?
その他(プログラミング・Web制作)
-
16
プログラミングの雑談とかできるサイトないですか?
その他(プログラミング・Web制作)
-
17
C++6.0でのresource.hについて
C言語・C++・C#
-
18
質問失礼します。 プログラム言語を一つも知らないのですが、C♯の勉強をしてみたいです。おすすめの教材
C言語・C++・C#
-
19
スカラーのベクトル微分
その他(プログラミング・Web制作)
-
20
gccを行ってもexeファイルが生成されない
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Ps+のフリープレイでDestiny2の...
-
Windows Media Playerを開くと...
-
scipy っていうのをいれようと...
-
静的ライブラリから静的ライブ...
-
Google ColaboでGUI作成
-
LIBCMT.LIBをリンクしてコンパ...
-
boostのアンインストールについて
-
「System.Text.RegularExpressi...
-
python urlopen error について...
-
c言語の標準cライブラリのみで...
-
C# EXCELセルの入力規則設定に...
-
プログラマーで「使えない人」...
-
ゲームプログラミングについて
-
本格的なGUIを作るのにおすすめ...
-
強化学習の環境作成、AI。自動...
-
fortranプログラミングでの数値...
-
Cでmd5を使うには
-
Javaでaacを操作するライブラリ
-
マウスのクリックを自動で
-
SSE命令やUSBドライバ作成ってC...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Ps+のフリープレイでDestiny2の...
-
Windows Media Playerを開くと...
-
本格的なGUIを作るのにおすすめ...
-
Google ColaboでGUI作成
-
python urlopen error について...
-
scipy っていうのをいれようと...
-
強化学習の環境作成、AI。自動...
-
C言語について。
-
マウスのクリックを自動で
-
LIBCMT.LIBをリンクしてコンパ...
-
Dreamweaverのライブラリが反映...
-
【iTunes】CDをiPhoneに取り込...
-
shaderを書かないで、GPUレンダ...
-
declaration of 'index' shadow...
-
MFC/C++ sprintf の代わりに <<
-
ライブラリ作成時のグローバル...
-
静的ライブラリから静的ライブ...
-
boostのアンインストールについて
-
統計解析ソフト「R」と「SA...
-
c言語でntpdateコマンドにあた...
おすすめ情報