web-dev-qa-db-fra.com

Développement d'applications Python dans Qt Creator

J'ai déjà développé quelques projets Qt en C++ à l'aide de Qt Creator, mais je souhaite maintenant expérimenter avec l'implémentation Python de Qt. J'ai découvert que Qt Creator 2.8 et versions ultérieures prennent en charge Python , mais je n'ai pas encore été en mesure de créer une application Qt en Python. La documentation en ligne à ce sujet semble être rare.

Comment configurer un tel projet dans Qt Creator? Idéalement, je recherche un projet simple "Hello World" que je peux ouvrir dans Qt Creator et l’utiliser comme point de départ pour construire quelque chose.

30
Pieter

Actuellement, Qt Creator vous permet de créer des fichiers Python (pas des projets) et de les exécuter. La syntaxe est également mise en évidence, mais il manque des fonctionnalités plus complexes telles que la saisie semi-automatique. 

L'exécution de scripts nécessite une configuration (j'ai utilisé this tutorial). Ouvrez Qt Creator et accédez à Tools->Options->Environment->External Tools. Cliquez sur Add->Add category et créez une nouvelle catégorie (par exemple, Python). Sélectionnez ensuite la catégorie créée et cliquez sur Add->Add Tool pour créer un nouvel outil - RunPy par exemple. Sélectionnez l'outil créé et remplissez les champs à droite:

  1. Description - toute valeur 
  2. Exécutable - chemin vers python.exe
  3. Arguments - %{CurrentDocument:FilePath}
  4. Répertoire de travail - %{CurrentDocument:Path}
  5. Environnement - QT_LOGGING_TO_CONSOLE=1

Vous obtenez quelque chose comme ça:

enter image description here

Maintenant, allez à File->New File or Project->Python et sélectionnez Python source file. Pour exécuter le script créé: Tools->External->Python->RunPy.

Vous pouvez également y ajouter pyuic de la même manière: Cliquez à nouveau sur le bouton Add->Add Tool pour créer un nouvel outil - PyUic maintenant. Sélectionnez-le à nouveau et remplissez les champs à droite:

  1. Description - toute valeur
  2. Exécutable - chemin vers pyuic5
  3. Arguments - -o UI%{CurrentDocument:FileBaseName}.py -x %{CurrentDocument:FilePath}
  4. Répertoire de travail - %{CurrentDocument:Path}
  5. Environnement - QT_LOGGING_TO_CONSOLE=1

Ensuite, vous devez également connecter PyUic.

34
NorthCat

Merci pour cela, ça a énormément aidé.

J'ai mis en place une section de compilation et d'exécution d'un nouveau kit pour python, à l'aide de vos instructions, qui semble fonctionner assez bien.

Voici les paramètres de construction:

 qtcreator python build settings

Voici les paramètres d'exécution:

 qtcreator python run settings

notez que j'ai/usr/bin/python en tant que lien vers /usr/bin/python3.6

Voici les paramètres du fichier de projet:

 qtcreator python project settings

La seule chose nécessaire est d'aller dans les outils -> options -> construire et exécuter et désélectionner 'toujours construire le projet avant de le déployer' et 'toujours déployer le projet avant de l'exécuter'.

Une fois que vous avez conçu un formulaire, vous pouvez ensuite cliquer sur Générer pour créer le fichier UI.py et exécuter le fichier source Python actuellement sélectionné en cliquant sur Exécuter.

Pour les noobs PyQt comme moi, j'ai trouvé la ressource suivante particulièrement utile pour commencer ... (bien que je sois sous Linux plutôt que sous Windows) ...

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

modifier.

J'ai aussi ajouté pdb - le débogueur python

 qtcreator python pdb settings

que vous pouvez ensuite sélectionner en cliquant sur le bouton au-dessus du bouton Exécuter:

 qtcreator run button

avant de cliquer sur Exécuter. Vous pouvez définir des points d'arrêt dans votre code à l'aide de l'extrait de code suivant, où j'ai ajouté DEBUG = 1 à l'environnement système dans les paramètres d'exécution de l'exécution pdb et DEBUG = 0 à l'environnement d'exécution python:

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