繁体   English   中英

将C ++ / Qt4示例转换为PyQt4

[英]Translate C++/Qt4 examples to PyQt4

我正在尝试学习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?

要将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,我认为最简单的方法是首先阅读此处列出的一些教程。

根据您的操作系统,安装pyqt4可能还会附带大量示例代码。 例如,在Ubuntu上,python-qt4-doc软件包包括教程和带有许多示例的演示启动器(qtdemo)。

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

在此输入图像描述


其他有用的链接:

http://www.zetcode.com/

原则上稍微熟悉C ++作为Python开发人员将对您有很大的好处。 无论如何,我认为这是QT的最佳Python参考。

另外,对不起,这太晚了

对此的明确答案是:不,没有办法将Qt C ++示例自动转换为PyQt。

也没有任何将C ++代码转换成Python的通用解决方案。 正是由于这个原因,开发了各种语言绑定工具,例如SWIG,Boost,Sip等(PyQt绑定由Sip生成)。

但是,正在努力将所有Qt C ++示例手动移植到PyQt。 这项工作的当前结果可以在PyQt源包examples目录中找到。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM