From 1e1eba1a1ab36333d359fec12ee7406fcff2119c Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 7 Jun 2023 11:53:09 +0200 Subject: [PATCH] Doc: Describe new Qt for Python support features Add an overview page for Developing Qt for Python applications. It contains links to Python-related information in the manual and some sections about setting up the development environment. Task-number: QTCREATORBUG-28996 Change-Id: If5a442415bad65aa94aa78183d44c6e0f78e317e Reviewed-by: Shyamnath Premnadh --- .../images/qtcreator-python-install.webp | Bin 0 -> 8618 bytes ...thon-wizard-define-python-interpreter.webp | Bin 0 -> 7128 bytes .../images/qtcreator-terminal-python.webp | Bin 0 -> 4516 bytes doc/qtcreator/src/editors/creator-coding.qdoc | 7 ++ .../editors/creator-only/creator-copilot.qdoc | 2 +- .../creator-only/creator-mime-types.qdoc | 2 +- .../python/creator-python-development.qdoc | 96 ++++++++++++++++++ .../src/python/creator-python-project.qdocinc | 49 ++------- .../src/python/creator-python-run.qdocinc | 2 +- doc/qtcreator/src/qtcreator-toc.qdoc | 1 + .../config/qtdesignstudio.qdocconf | 1 + 11 files changed, 117 insertions(+), 43 deletions(-) create mode 100644 doc/qtcreator/images/qtcreator-python-install.webp create mode 100644 doc/qtcreator/images/qtcreator-python-wizard-define-python-interpreter.webp create mode 100644 doc/qtcreator/images/qtcreator-terminal-python.webp create mode 100644 doc/qtcreator/src/python/creator-python-development.qdoc diff --git a/doc/qtcreator/images/qtcreator-python-install.webp b/doc/qtcreator/images/qtcreator-python-install.webp new file mode 100644 index 0000000000000000000000000000000000000000..519c4b79d6299a36af100a33fffa60fc40d7e72e GIT binary patch literal 8618 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 VRXeycPrRaRb@cPU?%`j>82}>YuFwDg literal 0 HcmV?d00001 diff --git a/doc/qtcreator/src/editors/creator-coding.qdoc b/doc/qtcreator/src/editors/creator-coding.qdoc index 23fd888d576..e7b44dd57e4 100644 --- a/doc/qtcreator/src/editors/creator-coding.qdoc +++ b/doc/qtcreator/src/editors/creator-coding.qdoc @@ -85,6 +85,13 @@ \l{https://github.com/features/copilot}{GitHub Copilot} into \QC. You can view suggestions from Copilot in the code editor. + \li \l{Developing Qt for Python Applications} + + To support developing Qt for Python applications, \QC lets you + set up Qt for Python, use project wizards to create Qt for + Python applications, write Python code, and run and debug the + applications. + \li \l{Editing MIME Types} \QC uses the MIME type of a file to determine which mode and editor diff --git a/doc/qtcreator/src/editors/creator-only/creator-copilot.qdoc b/doc/qtcreator/src/editors/creator-only/creator-copilot.qdoc index 16dcf80d4bf..69f3a35454e 100644 --- a/doc/qtcreator/src/editors/creator-only/creator-copilot.qdoc +++ b/doc/qtcreator/src/editors/creator-only/creator-copilot.qdoc @@ -4,7 +4,7 @@ /*! \previouspage creator-language-servers.html \page creator-copilot.html - \nextpage creator-mime-types.html + \nextpage creator-python-development.html \title Using GitHub Copilot diff --git a/doc/qtcreator/src/editors/creator-only/creator-mime-types.qdoc b/doc/qtcreator/src/editors/creator-only/creator-mime-types.qdoc index 662b3c0fa20..17fb6d32768 100644 --- a/doc/qtcreator/src/editors/creator-only/creator-mime-types.qdoc +++ b/doc/qtcreator/src/editors/creator-only/creator-mime-types.qdoc @@ -8,7 +8,7 @@ // ********************************************************************** /*! - \previouspage creator-copilot.html + \previouspage creator-python-development.html \page creator-mime-types.html \nextpage creator-modeling.html diff --git a/doc/qtcreator/src/python/creator-python-development.qdoc b/doc/qtcreator/src/python/creator-python-development.qdoc new file mode 100644 index 00000000000..75865bd6798 --- /dev/null +++ b/doc/qtcreator/src/python/creator-python-development.qdoc @@ -0,0 +1,96 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only + +/*! + \page creator-python-development.html + \previouspage creator-copilot.html + \nextpage creator-mime-types.html + + \title Developing Qt for Python Applications + + \l {https://doc.qt.io/qtforpython/index.html}{Qt for Python} enables you + to use Qt 6 API in Python applications. You can use the PySide6 modules + to gain access to individual Qt modules, such as \l {Qt Core}, \l {Qt GUI}, + and \l {Qt Widgets}. + + The following sections describe using \QC for developing with Qt for Python: + + \list + \li \l{Creating Widget-Based Qt for Python Applications} + {Creating Qt for Python Applications} + \li \l{Setting Up PySide6} + \li \l{Selecting the Python Interpreter} + \li \l{Creating a Virtual Environment} + \li \l{Using Python Interactive Shell} + \li \l{Python Language Server} + \li \l{Running Python Projects} + \li \l{Specifying Run Settings for Python Projects} + \li \l{PDB} + \li \l{Launching the Debugger} + \endlist + + For more information about developing with Qt for Python, including + limitations, see \l {https://doc.qt.io/qtforpython/index.html} + {Qt for Python}. + + \section1 Setting Up PySide6 + + If you have not installed the required version of PySide6, \QC prompts you to + do so when you open a .py file. + + \image qtcreator-python-install.webp {Prompts to install PySide6 and Python language server} + + Further, \QC prompts you to install the \l {Python Language Server} + {Python language server} that offers services such as code completion + and annotations. Select \uicontrol Install to install PySide6 and the + language server. + + \section1 Selecting the Python Interpreter + + You select the initial Python interpreter when you use the Qt for Python + Application wizard templates to create Python projects. + + \image qtcreator-python-wizard-define-python-interpreter.webp {Define Python Interpreter wizard page} + + You can see the current Python interpreter on the \uicontrol Edit mode + toolbar. + + \image qtcreator-python-interpreter-edit-mode.webp {Python interpreter on the Edit mode toolbar} + + You can change the interpreter to use for a particular project in + \uicontrol Projects > \uicontrol Run > \uicontrol Interpreter. + + \image qtcreator-python-run-settings.png {Python run settings} + + To see the available interpreters and choose another interpreter, select the + current interpreter, and then select \uicontrol {Manage Python Interpreters}. + Or, select \uicontrol Edit > \uicontrol Preferences > \uicontrol Python > + \uicontrol Interpreters. + + \image qtcreator-python-interpreters.png {Python Interpreters in Preferences} + + You can add and remove interpreters and clean up references to interpreters + that you uninstalled, but that still appear in the list. In addition, you + can set the interpreter to use by default. + + \section1 Creating a Virtual Environment + + To create a virtual environment (\c venv) when you use the Qt for + Python Application wizard templates to create Python projects, select + the \uicontrol {Create new virtual environment} check box on the + \uicontrol {Define Python Interpreter} wizard page. Specify the + directory where to create the environment in + \uicontrol {Path to virtual environment}. + + \section1 Using Python Interactive Shell + + You can write Python code in the Edit mode. Select \uicontrol REPL on the + toolbar to start the \l{https://pythonprogramminglanguage.com/repl/} + {Python interactive shell} in the \l Terminal pane. + + \image qtcreator-terminal-python.webp {Python shell on the taskbar} + + To start the shell and import the current file as a module, select + \uicontrol {REPL Import File}. To also import all functions from + the file, select \uicontrol {REPL Import *}. +*/ diff --git a/doc/qtcreator/src/python/creator-python-project.qdocinc b/doc/qtcreator/src/python/creator-python-project.qdocinc index 0ef6bb2d3fd..80887fc9788 100644 --- a/doc/qtcreator/src/python/creator-python-project.qdocinc +++ b/doc/qtcreator/src/python/creator-python-project.qdocinc @@ -1,4 +1,4 @@ -// Copyright (C) 2021 The Qt Company Ltd. +// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only /*! @@ -6,38 +6,12 @@ \section2 Creating Widget-Based Qt for Python Applications - \l {https://doc.qt.io/qtforpython/index.html}{Qt for Python} enables you - to use Qt 6 API in Python applications. You can use the PySide6 modules - to gain access to individual Qt modules, such as \l {Qt Core}, \l {Qt GUI}, - and \l {Qt Widgets}. - - If you have not installed PySide6, \QC prompts you to install it after - you create the project. Further, it prompts you to install the - \l {Python Language Server}{Python language server} that offers services - such as code completion and annotations. Select \uicontrol Install to install - PySide6 and the language server. - - You can see the current Python interpreter on the \uicontrol Edit mode - toolbar. - - \image qtcreator-python-interpreter-edit-mode.webp {Python interpreter on the Edit mode toolbar} - - To see the available interpreters and change their paths, select - the interpreter, and then select \uicontrol {Manage Python Interpreters}. - Or, select \uicontrol Edit > \uicontrol Preferences > \uicontrol Python > - \uicontrol Interpreters. - - \image qtcreator-python-interpreters.png {Python Interpreters in Preferences} - - You can add and remove interpreters and clean up references to interpreters - that you uninstalled, but that still appear in the list. In addition, you - can set the interpreter to use by default. - The Qt for Python Application wizards generate a \c {.pyproject} file that - lists the files in the Python project and a \c {.py} file that has - some boilerplate code. In addition, the widget-based UI wizard creates a - \c {.ui} file that has a \QD form, and the Qt Quick Application wizard - creates a \c {.qml} file that has Qt Quick controls. + lists the files in the \l{Developing Qt for Python Applications}{Python} + project and a \c {.py} file that has some boilerplate code. In addition, the + widget-based UI wizard creates a \c {.ui} file that has a \QD form, and the + Qt Quick Application wizard creates a \c {.qml} file that imports Qt Quick + controls. The \c{.pyproject} files are JSON-based configuration files that replace the previously used \c {.pyqtc} configuration files. You can still open and @@ -49,7 +23,7 @@ the PySide version, class name, base class, and source file for the class. - \image qtcreator-python-wizard-app-window.png {Qt for Python wizard for creating a widget-based UI} + \image qtcreator-python-wizard-app-window.png {Define Class wizard page} The wizard adds the imports to the source file for access to the QApplication, the base class you selected in the Qt @@ -121,13 +95,8 @@ \endcode You can now modify the boilerplate code in the Edit mode to develop your - Python application. Select \uicontrol REPL on the toolbar to start the - \l{https://pythonprogramminglanguage.com/repl/}{Python interactive shell}. - To start the shell and import the current file as a module, select - \uicontrol {REPL Import File}. To also import all functions from - the file, select \uicontrol {REPL Import *}. - - Always regenerate the Python code after modifying a UI file. + Python application. Always regenerate the Python code after modifying a + UI file. Open the .ui file in the \uicontrol Design mode to create a widget-based UI in \QD. diff --git a/doc/qtcreator/src/python/creator-python-run.qdocinc b/doc/qtcreator/src/python/creator-python-run.qdocinc index d1f96a7eeba..2356607a837 100644 --- a/doc/qtcreator/src/python/creator-python-run.qdocinc +++ b/doc/qtcreator/src/python/creator-python-run.qdocinc @@ -23,7 +23,7 @@ You can specify settings for running Qt for Python applications: - \image qtcreator-python-run-settings.png + \image qtcreator-python-run-settings.png {Python run settings} \list \li In the \uicontrol Interpreter field, specify the path to the diff --git a/doc/qtcreator/src/qtcreator-toc.qdoc b/doc/qtcreator/src/qtcreator-toc.qdoc index 3215f402708..b9649bb2b4b 100644 --- a/doc/qtcreator/src/qtcreator-toc.qdoc +++ b/doc/qtcreator/src/qtcreator-toc.qdoc @@ -131,6 +131,7 @@ \li \l{Editing Markdown Files} \li \l{Using Language Servers} \li \l{Using GitHub Copilot} + \li \l{Developing Qt for Python Applications} \li \l{Editing MIME Types} \li \l{Modeling} \li \l{Editing State Charts} diff --git a/doc/qtdesignstudio/config/qtdesignstudio.qdocconf b/doc/qtdesignstudio/config/qtdesignstudio.qdocconf index f9722725e87..5bcfe70d400 100644 --- a/doc/qtdesignstudio/config/qtdesignstudio.qdocconf +++ b/doc/qtdesignstudio/config/qtdesignstudio.qdocconf @@ -51,6 +51,7 @@ excludedirs += ../../qtcreator/examples/accelbubble \ ../../qtcreator/src/meson \ ../../qtcreator/src/overview/creator-only \ ../../qtcreator/src/projects \ + ../../qtcreator/src/python \ ../../qtcreator/src/qnx \ ../../qtcreator/src/qtquick/creator-only \ ../../qtcreator/src/vcs/creator-only \