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?
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:
Đú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.
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()
sudo apt-get install pyqt4-dev-tools qt4-designer
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
Bạn có thể muốn theo dõi loạt bài hướng dẫn này: Phát triển ứng dụng đa nền tảng bằng cách sử dụng Qt, PyQt và PySide: Phát triển ứng dụng GUI - Phần 5 của 5 . Nó hoàn toàn thảo luận về Qt dev sử dụng C ++, PyQt và PySide