【问题标题】:Translate C++/Qt4 examples to PyQt4将 C++/Qt4 示例转换为 PyQt4
【发布时间】:2012-07-24 08:44:59
【问题描述】:

我正在尝试学习 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 qt4 pyqt4 converter


    【解决方案1】:

    要将 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也有帮助!


    如果你想在不了解 C++ 的情况下学习 PyQt4,我认为最好先阅读一些教程 listed here

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

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


    其他有用的链接:

    【讨论】:

    • 对不起,我以某种方式省略了我原始答案的那部分。基本上,我相信你应该先学习一些 PyQt4,然后再学习一些基本的 C++ 语法。从那里,您应该能够猜到如何将 C++ 转换为 Python。
    【解决方案2】:

    http://www.zetcode.com/

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

    还有,抱歉,来晚了

    【讨论】:

      【解决方案3】:

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

      也没有将 C++ 代码翻译成 Python 的通用解决方案。正是出于这个原因,各种语言绑定工具如 SWIG、Boost、Sip 等被开发出来(PyQt 绑定由 Sip 生成)。

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

      【讨论】:

      • PyQt 源包的链接正是我想要的!我正在转录他的一个C++ 示例,并且无法摆脱已经完成的感觉。确实,它曾经是:)
      猜你喜欢
      • 2011-07-31
      • 1970-01-01
      • 2017-02-06
      • 1970-01-01
      • 1970-01-01
      • 2015-07-01
      • 1970-01-01
      • 2014-05-13
      • 1970-01-01
      相关资源
      最近更新 更多