在Qt Creator中开发Python应用程序

51

我之前使用Qt Creator以C++开发了一些Qt项目,但现在我想尝试Python实现的Qt。我发现Qt Creator 2.8及以上版本支持Python,但是目前我还没有找到如何用它创建一个Python实现的Qt应用程序。关于此的在线文档似乎很少。

我该如何在Qt Creator中设置这样的项目?理想情况下,我希望有一个简单的“Hello World”项目,可以在Qt Creator中打开,并将其作为构建某些东西的起点。


1
这个页面和这个页面表明,虽然你可以在一定程度上使用QtCreator来编写Python程序,但这并不是一个无缝的体验。第二个页面提供了一个创建Python Qt应用程序的示例,但并不是完全在QtCreator中完成的。 - BrenBarn
这里有一个关于如何使用QtCreator和Pyside的教程,http://qt-project.org/wiki/QtCreator_and_PySide。 - Padraic Cunningham
1
据我理解,这种方法通过读取*.ui*文件手动生成我的UI类的Python代码。每当我更新GUI的任何部分时,都必须手动运行该命令,并且添加到UI类的任何自定义方法都将在覆盖时被丢弃。这是正确的吗?因为我认为这不是一个实用的工作流程。 - Pieter
@BrenBarn:嗯...听起来他们还没有完全支持。这不是我想听到的消息,但也许再过几个月他们就准备好了。 - Pieter
@Pieter,似乎是这样,正如你已经知道的那样,目前Python支持似乎非常有限。我猜Qt Creator论坛可能是找到你需要的东西的最佳地方。 - Padraic Cunningham
有方法可以使它成为更可容忍的体验。首先,考虑使用QML界面,然后通过编程方式进行交互。虽然文档不是很完善,但它确实有效,并且在UI和逻辑之间保持了一道隔离墙。或者,您可以使用自动生成的Python代码,然后从中子类化,以便在管理对类构造的更改时,上游更改不会对下游代码造成不利影响。 - Shayne
2个回答

47

目前,Qt Creator可以创建Python文件(而不是项目)并运行它们。它也有语法高亮,但缺少更复杂的功能,如自动完成。

运行脚本需要一些配置(我使用了这个教程)。打开Qt Creator并转到工具→选项→环境→外部工具。点击添加→添加类别并创建一个新类别(例如,Python)。然后,选择创建的类别并单击添加→添加工具来创建一个新工具 - 例如RunPy。选择所创建的工具并填充右侧的字段:

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

你会得到像这样的东西:

enter image description here

现在,转到文件→新建文件或项目→Python并选择Python源文件。要运行创建的脚本:工具→外部工具→Python→RunPy

你还可以通过相同的方式添加pyuic: 再次点击添加→添加工具按钮来创建一个新工具 - 现在是PyUic。再次选择它并填充右侧的字段:

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

然后您也应该连接PyUic。


1
谢谢您的解释。我还发现可以通过编程从现有的*.ui*文件中导入小部件的布局,因此仍然可以使用GUI设计工具。 - Pieter
我发现在“键盘”选项卡下添加一个键盘快捷方式很方便。 - Marco Piccolino
1
有没有在Linux中设置这个的方法? - Hrvoje T
在所有这些之后,有没有办法将qml文件转换为Python? - U13-Forward

8

谢谢,这对我帮助很大。

我按照你的指导,为Python创建了一个构建和运行部分的新工具包,似乎效果不错。

以下是构建设置:

qtcreator python build settings

以下是运行设置:

qtcreator python run settings

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

以下是项目文件设置:

qtcreator python project settings

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

设计完表单后,您可以单击“构建”来创建UI.py文件,并通过单击“运行”来运行当前选择的Python源文件。

对于像我这样的PyQt新手,我发现以下资源在开始时特别有帮助......(尽管我在Linux而不是Windows上)...

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

编辑。

我还添加了pdb - Python调试器

qtcreator python pdb settings

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

qtcreator run button

然后再点击“运行”。您可以使用以下代码片段在代码中设置断点,在pdb运行的系统环境中添加了DEBUG = 1,并在运行Python env中添加了DEBUG = 0:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接