31

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?

4 Answers 4

18

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()
1
  • 1
    Just in case someone need this info, to install pyuic4: sudo apt-get install pyqt4-dev-tools qt4-designer Jan 2, 2016 at 8:58
14

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.

1
8

With the release of Qt Creator 2.8 things are changing. It now natively supports Python for code editing and there are few Python-based features.

From Qt Creator 2.8 release announcement:

An editor specific for Python was added, with highlighting and indentation, and a Python class wizard

2

You may want to follow this tutorial series though : Developing Cross Platform Application using Qt, PyQt and PySide : GUI Application Development - Part 5 of 5. It completely discuss Qt dev using C++, PyQt and PySide

1
  • The link of the tutorial is not valid any more.
    – Étienne
    Jul 2, 2019 at 9:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .