【问题标题】:Developing Python applications in Qt Creator在 Qt Creator 中开发 Python 应用程序
【发布时间】:2014-07-28 19:57:58
【问题描述】:

我过去使用 Qt Creator 在 C++ 中开发了一些 Qt 项目,但现在我想尝试 Qt 的 Python 实现。我发现 Qt Creator 2.8 及更高版本support Python,但到目前为止我还没有弄清楚如何用它在 Python 中创建 Qt 应用程序。关于它的在线文档似乎很少。

如何在 Qt Creator 中建立这样的项目?理想情况下,我正在寻找一个简单的“Hello World”项目,我可以在 Qt Creator 中打开它并以此为起点来构建一些东西。

【问题讨论】:

  • This pagethis one 建议尽管您可以在某种程度上将 QtCreator 与 Python 一起使用,但这并不是一种无缝体验。第二页提供了一个创建 Python Qt 应用程序的示例,但并非全部在 QtCreator 中完成。
  • 这里有一个关于使用 QtCreator 和 Pyside,qt-project.org/wiki/QtCreator_and_PySide
  • @PadraicCunningham:据我了解,此方法通过读取 .ui 文件为我的 UI 类手动生成 Python 代码。每次更新 GUI 的任何部分时,我都必须手动运行该命令,并且我添加到 UI 类的任何自定义方法都将在覆盖时被丢弃。它是否正确?因为我认为这不是一个实用的工作流程。
  • @BrenBarn:嗯...听起来他们还没有获得完全支持。这不是我想听到的消息,但也许几个月后他们就会做好准备。
  • @Pieter,似乎确实如此,因为您已经知道目前对 python 的支持似乎非常有限。我想 qt creator 论坛是找到你需要的东西的最佳场所。

标签: python qt


【解决方案1】:

目前,Qt Creator 允许您创建 Python 文件(而非项目)并运行它们。它还具有语法高亮功能,但缺少自动完成等更复杂的功能。

运行脚本需要一些配置(我使用了this 教程)。打开Qt Creator 并转到Tools->Options->Environment->External Tools。单击Add->Add category 并创建一个新类别(例如Python)。然后,选择创建的类别并单击Add->Add Tool 以创建一个新工具 - 例如RunPy。选择创建的工具并填写右侧的字段:

  1. 说明 - 任何值
  2. 可执行文件-python.exe 的路径
  3. 参数 - %{CurrentDocument:FilePath}
  4. 工作目录 - %{CurrentDocument:Path}
  5. 环境 - QT_LOGGING_TO_CONSOLE=1

你会得到这样的东西:

现在,转到File->New File or Project->Python 并选择Python source file。运行创建的脚本:Tools->External->Python->RunPy

你也可以用同样的方法给它添加 pyuic: 再次单击Add->Add Tool 按钮创建一个新工具 - 现在PyUic。再次选择它并填写右侧的字段:

  1. 说明 - 任何值
  2. 可执行文件 - pyuic5 的路径
  3. 参数 - -o UI%{CurrentDocument:FileBaseName}.py -x %{CurrentDocument:FilePath}
  4. 工作目录 - %{CurrentDocument:Path}
  5. 环境 - QT_LOGGING_TO_CONSOLE=1

那么你也应该连接 PyUic。

【讨论】:

  • 感谢您的解释。我还found out,您可以通过编程方式从现有 .ui 文件中导入小部件的布局,因此仍然可以使用 GUI 设计器。
  • 我发现在“键盘”选项卡下添加键盘快捷键很方便
  • 有没有办法在 Linux 中进行设置?
  • 有什么办法可以把 qml 文件变成 python 吗?
【解决方案2】:

谢谢你,它帮助很大。

我使用您的说明为 python 设置了一个新工具包的构建和运行部分,这似乎工作得很好。

以下是构建设置:

以下是运行设置:

请注意,我将 /usr/bin/python 作为 /usr/bin/python3.6 的链接

这里是项目文件设置:

唯一需要做的就是进入工具 -> 选项 -> 构建和运行并取消选择“始终在部署项目之前构建项目”和“始终在运行项目之前部署项目”。

一旦你设计了一个表单,你就可以点击 build 来创建 UI.py 文件并通过点击 run 来运行当前选择的 python 源文件。

对于像我这样的 PyQt 新手,我发现以下资源对入门特别有帮助...(尽管我使用的是 linux 而不是 windows)...

http://projects.skylogic.ca/blog/how-to-install-pyqt5-and-build-your-first-gui-in-python-3-4/

编辑。

我还添加了 pdb - python 调试器

然后您可以通过单击运行按钮上方的按钮来选择:

在点击运行之前。您可以使用以下sn-p在代码中设置断点,其中我在pdb run的运行设置中将DEBUG = 1添加到系统环境中,并将DEBUG = 0添加到run python env中:

if (QtCore.QProcessEnvironment.systemEnvironment().value("DEBUG") == "1"):
                import pdb; QtCore.pyqtRemoveInputHook(); pdb.set_trace()

【讨论】:

    猜你喜欢
    • 2021-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    相关资源
    最近更新 更多