Qt Creator Python ile nasıl kullanılır?


32

Ubuntu masaüstü, telefon ve tablet uygulamaları geliştirmek için Qt kullanmak istiyorum, ancak yeni bir programlama dili (C ++, JavaScript) öğrenmek istemiyorum. IDE olarak Qt-Creator kullanarak Qt uygulamasını Python'da yazmak mümkün müdür?

Yanıtlar:


14

Evet, Qt-Creator bir C ++ IDE'dir, diğer dilleri çok az destekliyor ancak 2.8.0 sürümünden bu yana oldukça basit bir python desteği eklendi.

Bu, Qt-Designer'ı (form oluşturma aracı), Qt-Translator'ı (çeviri aracı), vb ... python ile kolayca kullanabileceğinizi söyledi.

Şu anda iki Qt-Python bağlaması var, GPL / Ticari çift lisanslı PyQt ve LGPL PySide . PyQt'u uzun süredir kullanıyorum ve mutlu bir kullanıcıyım, PySide'i de denedim ama daha az olgun görünüyor. Lisans gereksinimleriniz izin verirse, PyQt'a giderim.



18

Sadece Qt-Designer'daki arayüzünüzü tasarlayın ve pyuic4'ü çalıştıran python dosyasına dönüştürün .

Örneğin:

pyuic4 editorFrame.ui -o editorFrame.py

sonra onu ana sınıfınızdan içe aktarabilirsiniz, bu durumda bir QMainWindow kullanıyorum:

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
Sadece birinin bu bilgiye ihtiyacı olması durumunda, pyuic4'ü yüklemek için:sudo apt-get install pyqt4-dev-tools qt4-designer
Tshilidzi Mudau

8

Qt Creator 2.8 sürümü ile işler değişiyor. Artık yerel olarak kod düzenleme için Python'u destekliyor ve çok az Python tabanlı özellik var.

Gönderen Qt Creator 2.8 sürüm duyurusu :

Python'a özgü bir editör, vurgulama ve girintiyle ve bir Python sınıfı sihirbazı ile eklendi.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.