3

誤解しないでいただきたいのですが、私は正確には Python のファンではありませんが、python ディレクトリ内に Tk ディレクトリが表示されている場合、ちょっと期待するのは... まあ Python です。ええ、Tk が TCL から来たことはわかりますが、Tk を使用するために TCL を書かなければならないとしたら、TK の存在を忘れて、まったく別のツール ボックスを使用するでしょう。(この組み合わせの人気は私には完全にわかりません。)

Python のような比較的読みやすい言語を期待して、TCL を見つけることは、おばあちゃんを裸で歩いているようなものです。視覚的に痛いだけです。

Pythonに関しては、私はクールエイドを飲んだことはありませんが、CまたはC ++を使いたくない単純なタスクに使用し、おそらく迅速で汚いテキスト処理が必要な場合に使用します. TCL の例を Python ディストリビューションに入れるのは、残酷な冗談のよ​​うに思えます。

Python で書かれたこれらの例を含む同等のパッケージはありますか?

編集:これも、Tk が Python の GUI 開発に最適なオプションであるかという疑問を投げかけていると思いますか?

4

3 に答える 3

3

Python の公式ディストリビューションには Tcl の例はありません。使用しているディストリビューションが何であれ、それらを独自の意志でバンドルしたに違いありません。

私見ですが、今のところTkの唯一の本当の利点は、Pythonにバンドルされていることによる利便性です。「Python in a Nutshell」でそれを取り上げたことで批判されましたが、結局のところ、それは依然としてバンドルされたツールキットであるため、その決定を支持します。しかし、より良いものが必要で、それを入手するのに多少の不便を感じても構わない場合 (そして、おそらく配布するアプリにバンドルする場合) は、他にも優れた選択肢があります。

PyQt (GPL ライセンスを維持するか、商用ライセンスを購入できる場合) とwxPythonは、現時点ではクロスプラットフォーム GUI アプリの優れた製品です (ただし、配布したい場合は、py2exe または PyInstaller にそれらをバンドルする必要があります)。スタンドアロン アプリ) やその他のパッケージは、クロスプラットフォームの配布を気にしない場合、または特殊なニーズがある場合に最適です (たとえば、 pyui (現在は汎用 UI ツールキットですが) を使用している場合、ゲームのシンプルな UI 用)。とにかくPyGameまたはPyOpenGL)。

于 2009-08-12T00:49:04.397 に答える
2

おそらく、ここでPythonTkinterのドキュメントとここでTkinterwikiを確認することから始める必要があります

そして、Tclの例はどこにありますか?おそらくPythonで提供されているTclライブラリを見ていますか?

于 2009-08-11T22:05:15.343 に答える
0

TCL / TK は理解しやすい言語であり、アプリケーションが非常にシンプルになり、すべてのプラットフォームで実行されるリソースとハードウェア プラットフォームが非常に少なくてすみます。

TCL / TK にはスターキットまたはフリーラップもあり、ライブラリ、コード、およびその他のファイルを 1 つのパッケージにまとめることで、他のプラットフォームへの持ち運びや実行、インストールが容易になり、すべてのライブラリが言語をもたらす必要がなくなります。

TCL / TK のエバリュエーターは 3MB を必要としますが、python はさらに多くの未使用ライブラリーを必要とし、さらに多くの未使用ライブラリーを使用します。

これらのアプリケーションが成長したら、最初に Python に移行し、Tkinter を使用して GUI を共有するのが論理的です。その後、QT または Wxwidgets などの他の GUI に移行して、より高速に動作させることができます。

Tkinter でプログラミングしたい人は、tkinter で作成された TCL と TK GUI がどのように機能するかを知っている必要があります。

今日では、クロスプラットフォーム アプリケーションをすべての基本的な python プロジェクトで小さくモジュール化できる単一ファイルに tkinter のように多目的に使用できる別のライブラリ モジュール GUI はありません。

tkinter は 2 MB ですが、wxwidget は 80 MB です。電卓、メモ帳、または描画アプリケーションを使用する場合は、プロジェクトに簡単に組み込むことができる小さな GUI が必要です。

それに加えて、今日の Tkinter アプリケーションは、限られたハードウェア、ARM またはラズベリー、またはスマートフォンを備えた小型デバイスでより高速かつ適切に実行されますが、wxwidgets は遅くなります。

アプリケーションが基本的で小さく、プラットフォームが堅牢でない場合は Tkinter を選択しますが、アプリケーションが大きくて重く、リソースが非常に多いプラットフォームの場合は wxwidget または QT を選択します。

于 2015-12-31T04:33:06.640 に答える