From 49d1c12277c563ed5ce5f30ad64c7080a4d9ccbc Mon Sep 17 00:00:00 2001 From: Pranta Dastider Date: Fri, 20 Sep 2024 15:38:45 +0200 Subject: [PATCH] QmlDesigner: Update the document for Qt Design Studio and Python workflow You can now export the design made with Qt Design Studio for Python. This update tries to explain how that works. It also fixes some older text. Fixes: QDS-13486 Change-Id: Ibfc533ab0a319c209f60f3569ad31788de8eae69 Reviewed-by: Mats Honkamaa --- .../images/studio-project-export-cmake.webp | Bin 0 -> 10990 bytes .../studio-project-export-python-file.webp | Bin 0 -> 2368 bytes .../studio-project-export-python-folder.webp | Bin 0 -> 5116 bytes .../images/studio-project-export-python.webp | Bin 0 -> 10924 bytes .../images/studio-project-export.webp | Bin 10078 -> 0 bytes .../studio-designer-developer-workflow.qdoc | 102 ++++++++++++++++-- 6 files changed, 92 insertions(+), 10 deletions(-) create mode 100644 doc/qtdesignstudio/images/studio-project-export-cmake.webp create mode 100644 doc/qtdesignstudio/images/studio-project-export-python-file.webp create mode 100644 doc/qtdesignstudio/images/studio-project-export-python-folder.webp create mode 100644 doc/qtdesignstudio/images/studio-project-export-python.webp delete mode 100644 doc/qtdesignstudio/images/studio-project-export.webp diff --git a/doc/qtdesignstudio/images/studio-project-export-cmake.webp b/doc/qtdesignstudio/images/studio-project-export-cmake.webp new file mode 100644 index 0000000000000000000000000000000000000000..2590310bba4daed485b159b679928bb49b544f69 GIT binary patch literal 10990 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�L8 zF6M^il9%ZuGPK&+(m*qn#ir~HoB7)_aUCv+q0)5&{V z)KtWu%@a#?oSt!pf8SR=^VuBIsqZH&J1D&^{J-YeE9N=jg7a8oml>A-5;`jSKk_Bd zT|OyY-uWw5>pE2Io;vs4=d`~Z|JienRV{YzcHZ9X=6zV*ZC$&^wU_%OM6Z{%n9gUF zTKP~o`N5B^*^653b0$Z~np|r0pYll0&!xE`q4!Gc;b^5k6JO@cO%~V06xtUk3i7|S ziIgm~%6P&%Uqezy>+QWw_IIN{zk9@zA@WXYOZKyH^~8FP8N5rn?XDV5d%IwwdCelH z^Dlq2bi1`l)xT{iu6f_9oVI=8?2KjH5(PT99T#8t&^gheO{!e*LEo}Hs&-+X{Fg+} zO|G@h5RtMA>{{|%W_I82Z5i)ptmA!|)5AA$-MyWiP|4I!KX$JDaI`anU*OgS`8xrh zPksEsvW2bV#&6{h*Rq%HI4Y z+c)N@1bvuU=CE`^z@L@IW=SO)J@c*Z7-;_Ru|5#wp_b>CuJg1yQKypkX-CxTc@NfK zn#AO-xKM33W9-Xp&5TeF_kd>G+q_$N(?sRP8%=7K$qM!FyS`YtR`=QVhqnaX*0#5{ zrsf)~zUFy2{TAa_l@AYtcS|(n%O>ZaKD=P{#J=-enDtw4L`>XzbJED0&Q*5o-FxSy}%;#f946hHS6|%)qQ_6+^gE` z#+Us^KTUI;5-q&_!?w5oD}MftpSG`F{=c5cgnRrcvWXvhB2HiY0m@Q6M?BdQ7tT59 zE3$ws-<)wnf%=`7;*725C(p^)wmCCwECX)?k{h4guvxR47PsV}Lj1QlD)~C-jPcmI8#4c@hGS*S) zP2XAL3m?~I2zk#uXm!$g&JOW!D`rdF;Ny*(^zti@yKmmw-<`)Zo2Dw2H&~lg%z63M z=lbFI?$O*IWTk43p7dFKgs-5Tt)D%8xp~l1#p*XNRLT$ftWV!@c=_U6mgf1^*SIJ3 z{ZG5@uhhqMXW_xaKI@=@mv1(ZmrOabFxMX);u3BHFc#t zu+mGkyAUb3`tI3x8xO93$7Ywi!c{Tp{!8AHYsa$6jlb=lAH}@Dx}cuRj=R)u`>ne? z|DIg3J@DLI>cdp-(z0V&<)2sczc4>h!oc7f;pt|?$iU$1%b*2bSjo;P#K6qJz`)4B z$iToT#lQ+?GcY7EO2gS%j2ciiObiT+h73#$3=9ek3=Bn#MqsuG0|UdP_DlvAsNNL} z3=CHo_?9s+FsKW_XvdWNq*R4~jQo=P;*9(P1tU{ELn8%^@XWlF{PJQ=1|tI_6DtEt zD?M^8Tn1_lc!PhaM@U^M~^31AhBFd8Js kq5+oUVPIfjvi|^PgY~dDgW0?RNvYwC0t~E-pipE00C|^-RR910 literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/images/studio-project-export-python-file.webp b/doc/qtdesignstudio/images/studio-project-export-python-file.webp new file mode 100644 index 0000000000000000000000000000000000000000..c4db72ebb9a27ebff35a38ed3dfdfad42e31a028 GIT binary patch literal 2368 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 E0OyU|&;S4c literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/images/studio-project-export-python-folder.webp b/doc/qtdesignstudio/images/studio-project-export-python-folder.webp new file mode 100644 index 0000000000000000000000000000000000000000..a465f5160243834b11b546e20d2f2fb093d163ff GIT binary patch literal 5116 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 literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/images/studio-project-export-python.webp b/doc/qtdesignstudio/images/studio-project-export-python.webp new file mode 100644 index 0000000000000000000000000000000000000000..647ec7426349c2d919f8d38c6150a697c2210045 GIT binary patch literal 10924 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 diff --git a/doc/qtdesignstudio/src/developers/studio-designer-developer-workflow.qdoc b/doc/qtdesignstudio/src/developers/studio-designer-developer-workflow.qdoc index e214b7709e3..5b59d665971 100644 --- a/doc/qtdesignstudio/src/developers/studio-designer-developer-workflow.qdoc +++ b/doc/qtdesignstudio/src/developers/studio-designer-developer-workflow.qdoc @@ -27,14 +27,19 @@ \e CMakeLists.txt file as the project file. This enables you to share your project as a fully working C++ application with developers. - To export a \QDS project for Qt Creator, you need: + You can also enable \QDS projects for Python development. When enabled, + \QDS creates a Python folder within the project folder with the file + \e {main.py}. Use this file to start the development in Python for the UI + made with \QDS. - \list - \li Qt Creator 13.0 or above. - \li \QDS 4.5 or above. - \endlist + \section1 Exporting a \QDS Project for C++ Development - \section1 Exporting a \QDS Project + To export a \QDS project for Qt Creator, you need: + + \list + \li Qt Creator 13.0 or above. + \li \QDS 4.5 or above. + \endlist \list 1 \li \l {Creating a Project} {Create} or open your \QDS project with \QDS 4.5 or above. @@ -44,14 +49,14 @@ used in your Qt Creator. \li Go to \uicontrol {File} > \uicontrol {Export Project} - > \uicontrol {Enable Automatic CMake Generation}. This creates a + > \uicontrol {Enable CMake Generator}. This creates a \e {CMakeLists.txt} file in your project folder. - \note Enabling this option tracks the changes made to the project in Qt Creator - and automatically updates in \QDS. The connection works unless you + \note Enabling this option tracks the changes made to the project in \QDS + and automatically updates in Qt Creator. The connection works unless you deactivate the option. - \image studio-project-export.webp "Exporting Qt Design Studio project" + \image studio-project-export-cmake.webp "Exporting Qt Design Studio project to CMake" \endlist \section1 Opening the \QDS Project in Qt Creator @@ -76,4 +81,81 @@ \image qtcreator-qt-design-studio-project.webp "Qt Design studio projects in Qt Creator after successful import" \li To run the project, select \uicontrol Run. \endlist + + \note \QDS 4.4 and earlier versions have a project structure where + different explicit import paths such as \e imports or \e asset_imports + reference assets such as images or mesh files separately in their own + scope. So, linking them from one module to another does not work in the + generated CMake-based C++ application. Such cross-modular references are + not considered good practice. Since \QDS 4.5, this issue has been solved. + All the import assets are now bundled in the same folder, so the CMake + generation works properly. + + \section1 Exporting a \QDS Project for Python Development + + \list 1 + \li \l {Creating a Project} {Create} a project with \QDS 4.5 or above. + Then open your \QDS project with \QDS 4.6 or above. + + \note You cannot export a project created with \QDS 4.4 or an + earlier version of \QDS for Python development. + + \li Go to \uicontrol {File} > \uicontrol {Export Project} + > \uicontrol {Enable Python Generator}. This creates a + Python folder in your project folder. You can find the + \e {main.py} file in the Python folder. This file is + necessary for working in Python. + + \note Do not modify the contents of the \e {autogen} folder inside + the Python folder manually; they are overwritten with each + change you make in the project. + + \image studio-project-export-python.webp "Exporting Qt Design Studio project to Python" + \endlist + + \section1 Opening the \QDS Project with Python + + After your project have the Python folder and the \e {main.py} file + available, you can start setting up your Python environment for developing + with \QDS projects. + + \table + \row + \li {2,1} \image studio-project-export-python-folder.webp "The generated Python folder in the Qt Design Studio project" + \li {2,2} \image studio-project-export-python-file.webp "The generated Python file in the Qt Design Studio project" + \endtable + \list 1 + \li If you don't have Python installed on your computer, install it. + The latest version of Python is available + \l {https://www.python.org/downloads/} {here}. + + \li Next, follow the steps from this document to + \l {https://doc.qt.io/qtforpython-6/quickstart.html} {install PySide6}. + You need this for working with Qt in Python. + + \note You need Python version between 3.8 and 3.13 to install + PySide6. + + \li After installing PySide6, install \QDS packages for PySide6. Stay + in the virtual environment that was accessed for installing + PySide6. From there, execute the command in the command prompt. + \code + pip install PySide6_DS + \endcode + + \li Go to your project folder in the command prompt. + \code + cd path/to/your/project/folder + \endcode + + \li Finally, run the command below in the command prompt to open the + \e {main.py} file from your project. + \code + python Python\main.py + \endcode + \endlist + + Your \QDS project now runs in Python. Use Python to add more + functionalities to the project. Go to \l {Qt for Python} to learn more + about developing Qt projects using Python. */