web-dev-qa-db-fra.com

Comment utiliser Qt Creator avec Python?

Je souhaite utiliser Qt pour développer des applications de bureau, de téléphone et de tablette Ubuntu, mais je ne souhaite pas apprendre un nouveau langage de programmation (C++, JavaScript). Est-il possible d'écrire une application Qt dans Python en utilisant Qt-Creator comme IDE?

31
Ralf Hersel

Oui, Qt-Creator est un IDE C++, avec peu de support pour les autres langages, mais depuis la version 2.8.0, un support assez basique python a été ajouté.

Cela dit, vous pouvez utiliser Qt-Designer (l’outil de création de formulaires), Qt-Translator (l’outil de traduction), etc ... facilement avec python.

Il existe actuellement deux liaisons Qt-Python, la double licence GPL/Commercial PyQt , et la LGPL PySide . Cela fait longtemps que j'utilise PyQt et je suis un utilisateur heureux. J'ai aussi essayé PySide mais il me semble moins mûr. Si vos conditions de licence vous le permettent, je choisirais PyQt.

13
Javier Rivera

Il suffit de dessiner votre interface dans Qt-Designer et de la convertir en fichier python exécutant pyuic4.

Par exemple:

pyuic4 editorFrame.ui -o editorFrame.py

alors vous pouvez l'importer depuis votre classe principale, dans ce cas j'utilise un QMainWindow:

import sys
from PyQt4 import QtGui
from editorFrame import Ui_MainWindow

class Editor(QtGui.QMainWindow):

    def __init__(self):
        super(Editor, self).__init__()
        self.ui=Ui_MainWindow()
        self.ui.setupUi(self)
        self.show()

def main():
    app = QtGui.QApplication(sys.argv)
    ex = Editor()
    sys.exit(app.exec_())

if __== '__main__':
    main()
17
scaamanho

Avec la sortie de Qt Creator 2.8, les choses changent. Il supporte maintenant nativement Python pour l'édition de code et il existe peu de fonctionnalités basées sur Python.

De annonce de la sortie de Qt Creator 2.8 :

Un éditeur spécifique pour Python a été ajouté, avec mise en surbrillance et indentation, ainsi qu'un assistant de classe Python.

8
lzap

Vous voudrez peut-être suivre cette série de didacticiels: Développement d’une application multiplate-forme à l’aide de Qt, PyQt et PySide: Développement d’applications graphiques - Partie 5 de 5 . Il discute complètement de Qt dev en utilisant C++, PyQt et PySide

2
swdev