如何在 QtCreator 中分析 PySide2 + QML?
How to profile PySide2 + QML in QtCreator?
我有一个 PySide2 应用程序,它使用 QML 来显示用户界面。该应用程序从命令行运行。我还可以启动它以及在 QtCreator 中调试它。但是,当我尝试 运行 QmlProfiler 时,我看到以下错误:
:-1: error: /home/username/code/project/venv/bin/python: Error while finding module specification for 'ljsdebugger=file:/tmp/QtCreator-kVUFuF/qtcreator-freesocket.XgLEKq,block,services:CanvasFrameRate,EngineControl,DebugMessages,DebugTranslation' (ModuleNotFoundError: No module named 'ljsdebugger=file:/tmp/QtCreator-kVUFuF/qtcreator-freesocket')
我检查了项目的工具包设置,它使用的是所有默认设置。我在网上找不到任何与此错误消息相关的 articles/discussions。如何解决这个问题?
解决这个问题涉及两个步骤:
- 启用应用程序调试
在实例化 QApplication 之前添加一行:
from PySide2.QtQml import QQmlDebuggingEnabler
debug = QQmlDebuggingEnabler()
- 将其连接到 QML Profiler
运行 带有命令行参数的应用程序:-qmljsdebugger=port:10002,block
带有您选择的端口。然后转到 Analyze>QML Profiler(附加到等待应用程序)并选择您启动程序的端口:
这已成功将程序连接到 QML Profiler。
from PySide6.QtQml import QQmlDebuggingEnabler
debug = QQmlDebuggingEnabler()
它在 pyside6 中也很有用,tks bro @WhiteStork
我有一个 PySide2 应用程序,它使用 QML 来显示用户界面。该应用程序从命令行运行。我还可以启动它以及在 QtCreator 中调试它。但是,当我尝试 运行 QmlProfiler 时,我看到以下错误:
:-1: error: /home/username/code/project/venv/bin/python: Error while finding module specification for 'ljsdebugger=file:/tmp/QtCreator-kVUFuF/qtcreator-freesocket.XgLEKq,block,services:CanvasFrameRate,EngineControl,DebugMessages,DebugTranslation' (ModuleNotFoundError: No module named 'ljsdebugger=file:/tmp/QtCreator-kVUFuF/qtcreator-freesocket')
我检查了项目的工具包设置,它使用的是所有默认设置。我在网上找不到任何与此错误消息相关的 articles/discussions。如何解决这个问题?
解决这个问题涉及两个步骤:
- 启用应用程序调试
在实例化 QApplication 之前添加一行:
from PySide2.QtQml import QQmlDebuggingEnabler
debug = QQmlDebuggingEnabler()
- 将其连接到 QML Profiler
运行 带有命令行参数的应用程序:-qmljsdebugger=port:10002,block
带有您选择的端口。然后转到 Analyze>QML Profiler(附加到等待应用程序)并选择您启动程序的端口:
这已成功将程序连接到 QML Profiler。
from PySide6.QtQml import QQmlDebuggingEnabler
debug = QQmlDebuggingEnabler()
它在 pyside6 中也很有用,tks bro @WhiteStork