Jak korzystać z Qt Creator z Pythonem?


32

Chcę używać Qt do tworzenia aplikacji na komputery, telefony i tablety Ubuntu, ale nie chcę uczyć się nowego języka programowania (C ++, JavaScript). Czy można napisać aplikację Qt w Pythonie, używając Qt-Creatora jako IDE?

Odpowiedzi:


14

Tak, Qt-Creator to IDE języka C ++, z niewielką obsługą innych języków, ale od wersji 2.8.0 dodano całkiem podstawową obsługę języka Python.

To powiedziawszy, możesz łatwo używać Qt-Designer (narzędzie do budowania formularzy), Qt-Translator (narzędzie do tłumaczenia) itp. ... z Pythonem.

Obecnie istnieją dwa wiązania Qt-Python, podwójny PyQt na licencji GPL / Commercial i PySide na LGPL . Używam PyQt od dłuższego czasu i jestem szczęśliwym użytkownikiem, próbowałem również PySide, ale dla mnie wygląda to mniej dojrzale. Jeśli pozwolenie na licencję na to pozwala, wybrałbym PyQt.



18

Wystarczy zaprojektować interfejs w Qt-Designer i przekonwertować go do pliku python wykonującego pyuic4 .

Na przykład:

pyuic4 editorFrame.ui -o editorFrame.py

możesz zaimportować go z głównej klasy, w tym przypadku korzystam z 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
Na wypadek, gdyby ktoś potrzebował tych informacji, aby zainstalować pyuic4:sudo apt-get install pyqt4-dev-tools qt4-designer
Tshilidzi Mudau

8

Wraz z wydaniem Qt Creator 2.8 wszystko się zmienia. Teraz natywnie obsługuje Pythona do edycji kodu i jest kilka funkcji opartych na Pythonie.

Od ogłoszenia wydania Qt Creator 2.8 :

Dodano edytor specyficzny dla Pythona, z podświetlaniem i wcięciami oraz kreator klasy Python


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.