Como usar o Qt Creator com Python?


32

Quero usar o Qt para desenvolver aplicativos de desktop, telefone e tablet Ubuntu, mas não quero aprender uma nova linguagem de programação (C ++, JavaScript). É possível escrever o aplicativo Qt em Python utilizando o Qt-Creator como IDE?

Respostas:


14

Sim, o Qt-Creator é um IDE C ++, com pouco suporte para outras linguagens, mas desde a versão 2.8.0, um suporte python bastante básico foi adicionado.

Dito isto, você pode usar o Qt-Designer (a ferramenta de criação de formulários), o Qt-Translator (a ferramenta de conversão), etc ... facilmente com python.

No momento, existem duas ligações Qt-Python, a GPL / Commercial com licença dupla PyQt e a LGPL PySide . Eu uso o PyQt há muito tempo e sou um usuário feliz, também experimentei o PySide, mas parece menos maduro para mim. Se seus requisitos de licença permitirem, eu utilizaria o PyQt.



18

Apenas desing sua interface no Qt-Designer e converta-a em arquivo python executando pyuic4 .

Por exemplo:

pyuic4 editorFrame.ui -o editorFrame.py

então você pode importá-lo da sua classe principal; nesse caso, estou usando um 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
Caso alguém precise dessas informações, instale o pyuic4::sudo apt-get install pyqt4-dev-tools qt4-designer
Tshilidzi Mudau 2/16/16

8

Com o lançamento do Qt Creator 2.8, as coisas estão mudando. Agora ele suporta nativamente o Python para edição de código e existem poucos recursos baseados em Python.

Do anúncio de lançamento do Qt Creator 2.8 :

Um editor específico para Python foi adicionado, com destaque e recuo, e um assistente de classe Python


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.