2012-07-25 76 views

回答

3

要將C++示例轉換爲Python/PyQt4,首先應該熟悉PyQt4應用程序的一般結構以及構建PyQt4小部件和調用其方法的常用語法。

下面我列出的資源可以幫助您開始學習PyQt4(不含C++)。一旦你有PyQt4的一個基本的瞭解,你應該能夠C++這樣的代碼(從tutorial你引用拍攝)轉換:

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代碼之間形成關聯。

當然,這也有助於know at least a little C++ syntax


如果您想了解PyQt4的不知道C++,我認爲這將是最容易通過一些教程listed here第一的。

根據您的操作系統,您安裝的pyqt4也可能帶有大量的示例代碼。例如,在Ubuntu上, python-qt4-doc軟件包包含大量示例的教程和演示啓動器(qtdemo)。

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

enter image description here


其他有用的鏈接:

+0

感謝教程!但是這並不是我的問題... – student 2012-07-26 07:55:26

+0

對不起,我不知何故省略了原來的答案。基本上,我相信你應該先學習一些PyQt4,然後學習一些基本的C++語法。從那裏,你應該能夠猜測如何將C++轉換爲Python。 – unutbu 2012-07-26 10:56:55

2

http://www.zetcode.com/

原則上,對C++作爲Python開發人員的熟悉程度將會大大受益。無論如何,這是我認爲QT的最佳Python參考。

而且,抱歉,這是這麼晚

2

權威的答案,這就是:沒有,沒有辦法自動將Qt的C++實例轉換爲PyQt的。

也沒有任何將C++代碼翻譯成Python的通用解決方案。正是因爲這個原因,各種語言綁定工具,如SWIG,Boost,Sip等已經開發出來(PyQt綁定是由Sip生成的)。

但是,我們正在努力將所有Qt C++示例手動移植到PyQt。該工作的最新結果可在source packages for PyQtexamples目錄中找到。

+0

PyQt的源代碼包的鏈接正是我一直在尋找的!我只是在轉錄他的一個'C++'的例子,並且不能動搖已經完成的感覺。確實,它一直是:) – sjm324 2017-04-27 03:12:28