5 มกราคม 2559

Published 1/05/2559 by with 0 comment

GUI ด้วย Qt ในภาษาไพทอน โค้ดเดียวใช้งานได้ทั้ง PyQt4 , PyQt5 และ PySide

หลังจากที่ผมเคยออกบทความ GUI โค้ดเดียวทำงานได้ทั้ง PyQt4 และ PySide ไป แต่โค้ดบทความดังกล่าวใช้งานได้เพียง PyQt4 และ PySide ไม่รองรับ PyQt5 แต่ตอนนี้ได้มีนักพัฒนาโมดูลได้พัฒนาโมดูลที่ช่วยให้สามารถใช้โค้ด GUI ของ Qt โค้ดเดียวในภาษาไพทอนโดยใช้งานได้ครบทุก Qt (PyQt4 , PyQt5 และ PySide) โมดูลนี้มีชื่อว่า "QtPy"

QtPy เป็น Abtraction layer ของ PyQt4 , PyQt5 และ PySide ในภาษาไพทอน
ใช้ MIT License
รองรับทั้ง Python 2 และ Python 3

สามารถติดตั้งได้โดยสั่ง pip:
pip install qtpy

การใช้งาน

สามารถใช้งานได้ง่าย ๆ โดยแก้โค้ดจาก PyQt5 , PyQt5 , PySide เป็น qtpy ให้หมด
ตัวอย่างเช่น
โค้ดของ PyQt5

[python]
import sys
from PyQt5.QtWidgets import QApplication, QWidget
app = QApplication(sys.argv)
w = QWidget()
w.resize(250, 150)
w.setWindowTitle('Simple')
w.show()
sys.exit(app.exec_())
[/python]

แปลงให้เป็น qtpy

[python]
import sys
from qtpy.QtWidgets import QApplication, QWidget
app = QApplication(sys.argv)
w = QWidget()
w.resize(250, 150)
w.setWindowTitle('Simple')
w.show()
sys.exit(app.exec_())
[/python]

เมื่อลองรันดูแล้ว จะพบว่าสามารถรันโค้ดนี้ได้แม้ในเครื่องไม่มี PyQt5 ก็ตาม
PySide

นำมาแปลงเป็น Qtpy


ลองนำไปใช้งานกันดูนะครับ
หน้าเว็บ QtPy https://github.com/goanpeca/QtPy

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)