このチュートリアルは、プログラミング言語としてPythonを使用してQTフレームワークの使用法を教えることに焦点を当てています。このため、PySideとPyQtの両方を使用できますが、このチュートリアルの作成者はLGPL PySideライセンスの方が好きなので、このチュートリアルではPySideを使用します。 GPLやPyQtコマーシャルよりも。
まず... Pythonとは何ですか?
ウィキペディアによると:
「Pythonは非常に高レベルのインタープリター型プログラミング言語であり、その哲学は非常にクリーンな構文を強調し、読み取り可能なコードを助長します。」
Pythonはマルチパドラジムプログラミング言語であるため、Pythonプログラミングのさまざまなパラダイムをサポートします。たとえば、オブジェクト指向プログラミング(OOP)、命令型プログラミング(構造化)、および程度は低いものの関数型プログラミングをサポートします。
それだけで?
いいえ、それは動的型付け言語でもあります。つまり、Pythonを使用すると、プログラムの実行中に同じ変数に異なるタイプの値を割り当てることができます。利点と見なされるものもあれば、欠点と見なされるものもあります。自分で確認してください。 。
すでに述べたものに加えて、Pythonは(他の多くのように)Web環境とWebデスクトップの両方でプログラミングすることを可能にし、クロスプラットフォームでもあり、現在はGnu / Linux、Windows、Mac osx、Androidをサポートしています(変形)。
QTとは何ですか?
QTは元々Nokiaによって開発されたマルチプラットフォームフレームワークであり、後でDigiaに販売され、アプリケーション開発に使用されます。C++で記述されていますが、Bindings(この場合はPySideまたはPyQt)
PySideとPyQtの違い
主に
- ライセンス、PySideはLGPLの条件の下でライセンスされ、PyQTはGPLの条件の下で、または商用ライセンスの下でライセンスされているため、クローズドアプリケーションを作成する場合は料金を支払う必要があります。
- PySideはNokiaによって作成され、PyQtはRiverBankによって作成されています。
- PySideを使用すると、各QTオブジェクトのQStringを使用するたびにSTRを使用する手間が省けます。
完全な変更を詳しく説明できます ここで.
準備:
Qtをインストールします:
Kdeとのディストリビューションがある場合は、必要なものがすでにあるはずです。そうでない場合は、次のようになります。
sudo apt-get install qt4-dev-tools
PySideをインストールします:
sudo apt-get install pyside pyside-tools
私たちの最初のPython + QTアプリケーション
お気に入りのテキストエディタに移動します。sublime-text2をインストールすることをお勧めしますが、好きなものを使用できます。次のコードを入力して、常に拡張子「.py」で終わる名前で保存します。 、app1.pyとして保存します:
このようにコンソールから実行します。
python app1.py
このウィンドウが表示されます
それだけ?以前にコンソールしか持っていなかったとしたら、何について不満を言っているのですか? 何を期待しましたか、Erp? 男に来て、何かが始まります。
それでは、コードについて説明しましょう。
from PySide.QtGui import *
from sys import exit, argv
ここでは、PySideの実行に必要なモジュールをインポートします。
app = QApplication(argv)
appという名前でQapplicationインスタンスを作成します。
window = Qwidget()
QWidget()のインスタンスを作成します。
window.setWindowTitle("Primera App PySide")
Qwidgetのタイトルを「設定」するためのパラメーターとして文字列を受け取るsetWindowTitleメソッドを実行します。
window.show()
ウィンドウを表示します
exit(app.exec_())
最後に、QApplication()の実行の無限サイクルを実行します。
感謝
ここで私をフォローしてくれて、助けてくれた人たちに感謝します。 次のチュートリアルでは、QT Designerを使用してウィンドウを設計し、プロジェクトにインポートする方法について説明します。
さらに、フォーラムへのリンクを追加します desde linux ここには、Python チュートリアルとガイドの小さなライブラリを備えた小さなテーマがあり、次のようなさまざまな用語が含まれています。
基本的なPythonチュートリアル
WxPythonGenericName
PyQtとPySide
ジャンゴ
web2py
pythonでの科学的プログラミング。
などなど。
彼らがあなたに仕えることを願っています、私はさようならを言います、いつもこの素晴らしいコミュニティに属することの喜びです。
投稿ありがとうございます!
2つのこと:
1. Qtは元々Nokiaによって開発されたのではなく、後にNokiaによって購入されたTrolltechによって開発されました。 その後、後者はQtをDigiaに売却しました。
2.最初のアプリケーション例の画像がコードと一致しません。
チュートリアルをありがとう、私はそれに従います🙂
あなたは絶対に正しいです私はそれを逃しました。 そして、あなたが正しいXNUMX番目のことは、クラスを使用せずに簡単にするために変更したことです。変更を見逃した、初心者のエラーです。 私はすでにいくつかの編集者がそれらを承認するための修正を渡しました。
変更できません。編集者にお任せします。
ご挨拶。
修正されたチュートリアルを編集者にメールで送信します。 編集者の一人である@nanoのメールに送ることができます
mailto:nano.world.contact@gmail.com
このようなチュートリアルを離れないでください
よろしく
私が思うのは、コードで「from import *」を使用する理由です。
ご挨拶!
これは正しいインポート方法です。このようにインポートするときは、インポートするモジュールの特定のクラスを指定し、モジュール全体を呼び出す必要はありません。
ご挨拶。
そのような混乱を感じます。 さらに、PEP8では推奨されていません。
「(モジュールインポート*からの)ワイルドカードインポートは、名前空間にどの名前が存在するかが不明確になり、リーダーと多くの自動ツールの両方を混乱させるため、避ける必要があります...」
私は主にNinja-Ideなどのプロのコードに導かれています。コードは次の場所にあります。 https://github.com/ninja-ide/ninja-ide/blob/master/ninja_ide/core/ipc.pyこれはPyQtでも行われますが、いずれにせよ、いずれかの形式を使用するように強制するものは何もありません。
ここでは、これについて、StackOverflowに関するディスカッションを見ることができます。
http://stackoverflow.com/questions/710551/import-module-or-from-module-import
そこでは、それぞれのスタイルの長所と短所について言及しています。
わかりました。わかりませんでした。QApplication、QWidgetの各要素について説明し、一般化するつもりはなかったので、理解しましたが、あなたは絶対に正しいです。
誤解をお許しください。
いいえ、あなたは理解していなかったか、注意を払っていませんでした...つまり、«from module import *»を使用することを意味します。つまり、StackOverflowの投稿で«アスタリスク»を意味します...彼らは何か他のことについて話している、しかし、彼らはまだそれを強調しています:
「どちらの方法も使用できますが、モジュールのインポートからは使用しないでください*。」
今は分かりますか?
ドイツ語は正しいです。 そのインポートモジュールに対して、すべてのコンテンツをアスタリスクでインポートする場合、fromモジュールインポートの用途は何ですか。 Sldsも同様に素晴らしい投稿です。
ああ、今はわかりました…とにかく、私はそれほど長くはかからないでください。私はPythonの初心者でもあります。 私のブログに立ち寄ると、私があなたと同じような投稿をしたことがわかりますが、PyGObjectを使用してGtk +3を使用しています。
ご挨拶と感謝!
ここで私はPep8を離れ、スペイン語でimの使用を推奨します
パッケージからコードをインポートするために相対インポートを使用することは強くお勧めしません。 すべてのインポートには、常にパッケージの絶対パスを使用してください。 PEP 328 [7]がPython2.5で完全に実装されている現在でも、相対的なインポートを使用することは強く推奨されていません。 絶対インポートはより移植性が高く、通常はより読みやすくなります。
モジュールからクラスをインポートする場合、通常はこれを行うのが正しいです。
myclassからインポートMyClass
foo.bar.yourclassからインポートYourClass
よろしく
これを読む: http://stackoverflow.com/questions/3615125/should-wildcard-import-be-avoided
Alex Martelli(コアpy開発者)は次のようなものを推奨しています:
from PyQt4 import QtCore, QtGui
第二部の時のためにもっと欲しかった!?
ご挨拶🙂
非常に優れたチュートリアルに加えて、プログラミングがより快適な場合があります。
これは、最初から(QtDesignerを使用せずに)インターフェースの例です。
https://github.com/xr09/metrocontador
dhunterアプリは素晴らしいです、ここでは彼らが私たちに電気代をいくら請求するかさえわかりません、ハハ挨拶。
ありがとうございます。個人的な使用のために作成し、他の人にサービスを提供するアプリのXNUMXつです。 ここキューバでは、レシートはレートで分類されており、アルゴリズムをコピーするのは簡単です。
私はこのコースをよく知っています。 私は長い間クロスプラットフォームアプリケーションに興味を持っていましたが、Python + QT / Pysideの組み合わせは素晴らしいオプションだと思います。 イニシアチブへのご挨拶とおめでとうございます
私はあなたが言うようにすべてのステップを正確に実行しましたが、ターミナルでapp1.pyアプリケーションを実行すると、トレースバック(最後の最後の呼び出し)が表示されます。
ファイル "app1.py"、1行目、
PySide.QtGuiからインポート*
ImportError:PySide.QtGuiという名前のモジュールがありません。 これは何のために?
これは、デフォルトのインタープリターとしてpythonのバージョンを使用しているが、そのバージョン用にpysideがインストールされていないためです。
ファイルの先頭に追加してみてください:
#!usr / bin / python3
またはそうでなければ
#!usr / bin / python2
Eclipseをpydevと一緒に使用し、インタープリターを適切に構成することをお勧めします。
SLDS
#!/ usr / bin / python3
またはそうでなければ
#!/ usr / bin / python2
PySideはまだPython3と互換性がありません。注意してください。次に、インタラクティブなpythonコンソールを介してインポートをチェックするため、インストールされているかどうかがわかり、pipもインストールされます。
どうすれば確認できますか?
コンソールでは「Python」を使用しますが、とにかく、投稿に残したライブラリに入り、「pythonforeveryone」をダウンロードすることをお勧めします。より多くのベースが必要です。
挨拶と幸運。
どうもありがとうございました、とても助かりました。
友達を見てくださいF3niXこれを見つけました。Windows上のPython3.3.2(来週まで持っているもの)には32ビットと64ビットのバイナリがあるようです。あなたの例を試してみましたが、Python3.3.2で動作します。私はさまざまな環境をインストールするPyScripterを使用しています。Python3を開くと、Python 3のようなスクリプトが実行され、2.7を開くと、2.7として実行されます(論理的には、そのバージョンのpythonをインストールする必要があります...それは理解されています)
http://qt-project.org/wiki/PySide_Binaries_Windows
私はあなたをそこに残します、ゴシップ、多分それは他の誰かに役立つでしょう😀
同じエラーが発生します。
PySideをインストールしていますか?
インストールしました。
そして、PyQT4を試してインストールし、PyQT4またはPyQt4のPySide行を変更して実行します。 ジョジョ。 日食を使用してください。 幸運。
それ、どうやったら出来るの?。
どうもありがとうございました !!! 第二章を待っています
今週の金曜日に私はそれを公開するかもしれません(大学は私に少しいっぱいです)挨拶。
友達F3nIXあなたのチュートリアルを待っていますN°2、3、4…N hehehe
私はすでに非常にエレガントなLinuxをインストールしており、PySideが待機しています。
彼が新しい家庭教師を見せるように勧められたときを見てみましょう😀
すみません、ドラフトにありますが、仕事や勉強で時間が取れませんでした。今週は何かを出すことを約束します。
大きな挨拶
こんにちは、私は長い間Pythonの学習に興味を持っていましたが、いくつか疑問があります。 私が欲しいのは、私が働いている家業の情報プロセスを少し改善するためのアプリケーションを作ることです。私はウィンドウズのために何かをしたいと思っています。インターネットを介して、XNUMX台のコンピューターが接続するデータベースに接続します。 アプリケーションのGUIには多様性があり、めまいがします。 モダンで魅力的な外観にするために何をお勧めしますか? また、統計グラフを作成してレポートを印刷しますが、そのために何を使用できますか? よろしく
こんにちは、とても良いです、あなたの投稿、私は質問があります、私は問題なくpysideで作られた私のアプリを売ることができますか?
ええと、ライセンスは常にクレイジーですが、フリーソフトウェアライセンスでもソフトウェアを販売することができます。何が起こるかというと、LGPLとは異なり、GPLはコードの配布を強制します。
とにかく、私はライセンスの専門家ではありません。
ご挨拶。