I want to use Qt for developing Ubuntu desktop, phone and tablet applications but I don't want to learn a new programming language (C++, JavaScript). Is it possible to write Qt application in Python utilizing Qt-Creator as IDE?


Solution 1:

Just desing your interface in Qt-Designer and convert it to python file executing pyuic4.

Eg:

pyuic4 editorFrame.ui -o editorFrame.py

then you can import it from your main class, in this case i'm using a 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()

Solution 2:

Yes, Qt-Creator is a C++ IDE, with little support for other languages but since version 2.8.0 a quite basic python support has been added.

That said you can use Qt-Designer (the form building tool), Qt-Translator (the translate tool), etc... easily with python.

There are two Qt-Python bindings right now, the GPL/Commercial dual licensed PyQt, and the LGPL PySide. I have used PyQt for a long time and I'm a happy user, I also have tried PySide but it looks less mature to me. If your license requirements allow you I'd go for PyQt.