Làm cách nào để sử dụng Qt Creator với Python?


32

Tôi muốn sử dụng Qt để phát triển các ứng dụng máy tính để bàn, điện thoại và máy tính bảng Ubuntu nhưng tôi không muốn học một ngôn ngữ lập trình mới (C ++, JavaScript). Có thể viết ứng dụng Qt trong Python sử dụng Qt-Creator làm IDE không?

Câu trả lời:


14

Đúng, Qt-Creator là một C ++ IDE, ít hỗ trợ cho các ngôn ngữ khác nhưng kể từ phiên bản 2.8.0, một hỗ trợ python khá cơ bản đã được thêm vào.

Điều đó nói rằng bạn có thể sử dụng Qt-Designer (công cụ xây dựng biểu mẫu), Qt-Translator (công cụ dịch), v.v ... dễ dàng với python.

Có hai ràng buộc Qt-Python ngay bây giờ, PyQt được cấp phép kép GPL / Thương mại và PyPLide LGPL . Tôi đã sử dụng PyQt trong một thời gian dài và tôi là một người dùng hạnh phúc, tôi cũng đã dùng thử PySide nhưng nó có vẻ kém trưởng thành hơn đối với tôi. Nếu yêu cầu giấy phép của bạn cho phép bạn sẽ đi PyQt.



18

Chỉ cần bỏ giao diện của bạn trong Qt-Designer và chuyển đổi nó thành tệp python thực thi pyuic4 .

Ví dụ:

pyuic4 editorFrame.ui -o editorFrame.py

sau đó bạn có thể nhập nó từ lớp chính của mình, trong trường hợp này tôi đang sử dụng 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
Chỉ trong trường hợp ai đó cần thông tin này, để cài đặt pyuic4:sudo apt-get install pyqt4-dev-tools qt4-designer
Tshilidzi Mudau

8

Với việc phát hành Qt Creator 2.8, mọi thứ đang thay đổi. Hiện tại nó hỗ trợ Python để chỉnh sửa mã và có một số tính năng dựa trên Python.

Từ thông báo phát hành Qt Creator 2.8 :

Một trình soạn thảo dành riêng cho Python đã được thêm vào, với phần tô sáng và thụt lề và trình hướng dẫn lớp Python


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.