2

私は PyQt4 を学習しようとしていますが、C++/Qt4 に関する有用なドキュメントがたくさんあるようです (例: http://doc.qt.nokia.com/4.7-snapshot/model-view-programming.html )。私は C++ についてよく知らないので、同時に学びたくもありませんが、C++/Qt4 の例はかなり役に立ちます。

C++ 構文 (たとえばhttp://doc.qt.nokia.com/4.7-snapshot/model-view-programming.htmlの例) を python/PyQt4 に変換する方法はありますか?

4

3 に答える 3

3

C++ の例を Python/PyQt4 に変換するには、まず PyQt4 アプリの一般的な構造と、PyQt4 ウィジェットを構築してそれらのメソッドを呼び出すための通常の構文に精通していることが役立ちます。

以下に、PyQt4 (C++ なし) の学習を開始するのに役立つリソースをリストしました。PyQt4 の基本的な知識があれば、次のように C++ コードを変換できるはずです (参照したチュートリアルから引用)。

 int main(int argc, char *argv[])
 {
     QApplication app(argc, argv);
     QSplitter *splitter = new QSplitter;

     QFileSystemModel *model = new QFileSystemModel;
     model->setRootPath(QDir::currentPath());

同等の PyQt4 コードに:

import sys
import PyQt4.QtCore as QtCore
import PyQt4.QtGui as QtGui

def main():
    app = QtGui.QApplication(sys.argv)
    splitter = QtGui.QSplitter()
    model = QtGui.QFileSystemModel()
    model.setRootPath(QtCore.QDir.currentPath())

「QSplitter」、「QFileSystemModel」、および「QDir」をグーグルで検索すると、関連する PyQt4 ドキュメントが表示されます。たとえば、QApplicationクラスがQtGuiモジュールで定義されていることがわかります。これは、C++ コードと同等の PyQt4 コードの間の関連付けを形成するのに役立ちます。

もちろん、C++ の構文を少し知っていることも役に立ちます。


C++ を知らなくても PyQt4 を学習したい場合は、最初にここにリストされているチュートリアルのいくつかを実行するのが最も簡単だと思います。

OS によっては、pyqt4 のインストールに大量のサンプル コードが付属している場合もあります。たとえば、Ubuntu の python-qt4-doc パッケージには、チュートリアルと多数の例を含むデモ ランチャー (qtdemo) が含まれています。

python /usr/share/doc/python-qt4-doc/examples/demos/qtdemo/qtdemo.py

ここに画像の説明を入力


その他の便利なリンク:

于 2012-07-25T21:12:02.500 に答える
2

これに対する決定的な答えは次のとおりです。いいえ、QtC++の例をPyQtに自動的に変換する方法はありません。

また、C++コードをPythonに変換するための一般的なソリューションもありません。SWIG、Boost、Sipなどのさまざまな言語バインディングツールが開発されたのはまさにそのためです(PyQtバインディングはSipによって生成されます)。

ただし、すべてのQtC++の例を手動でPyQtに移植するための継続的な取り組みがあります。この取り組みの現在の結果は、PyQtexamplesのソースパッケージのディレクトリにあります。

于 2012-08-16T18:34:03.187 に答える
2

http://www.zetcode.com/

原則として、Python 開発者として C++ に少し慣れていると非常に役立ちます。とにかく、これは私の意見では QT の最高の Python リファレンスです。

また、大変遅くなり申し訳ありません

于 2012-08-16T16:50:58.690 に答える