Comment utiliser Qt Creator avec Python?


32

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 en Python en utilisant Qt-Creator comme IDE?

Réponses:


14

Oui, Qt-Creator est un IDE C ++, ne prenant guère en charge les autres langages, mais depuis la version 2.8.0, un support python assez basique 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 , PyQt à double licence GPL / Commercial et LGPL PySide . J'ai utilisé PyQt pendant longtemps 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.



18

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 __name__ == '__main__':
    main()

1
Juste au cas où quelqu'un aurait besoin de cette information, pour installer pyuic4:sudo apt-get install pyqt4-dev-tools qt4-designer
Tshilidzi Mudau

8

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 Qt Creator 2.8 annonce de sortie :

Un éditeur spécifique pour Python a été ajouté, avec surlignage et indentation, et un assistant de classe Python


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.