PyQt5 - มีอะไรใหม่
PyQt5 API ไม่สามารถทำงานร่วมกับเวอร์ชันก่อนหน้าได้โดยอัตโนมัติ ดังนั้นโค้ด Python ที่เกี่ยวข้องกับโมดูล PyQt4 ควรได้รับการอัปเกรดด้วยตนเองโดยทำการเปลี่ยนแปลงที่เกี่ยวข้อง ในบทนี้มีการระบุความแตกต่างหลักระหว่าง PyQt4 และ PyQt5
PyQt5 ไม่รองรับ Python เวอร์ชันก่อนหน้า v2.6
PyQt5 ไม่รองรับเมธอด connect () ของคลาส QObject สำหรับการเชื่อมต่อระหว่างสัญญาณและสล็อต ดังนั้นจึงไม่สามารถใช้การใช้งานได้อีกต่อไป -
QObject.connect(widget, QtCore.SIGNAL(‘signalname’), slot_function)
กำหนดเฉพาะไวยากรณ์ต่อไปนี้ -
widget.signal.connect(slot_function)
คลาสที่กำหนดไว้ในโมดูล QtGui ก่อนหน้านี้ได้รับการแจกจ่ายในรูปแบบ QtGui, QtPrintSupport ก QtWidgets โมดูล
ในคลาส QFileDialog ใหม่ The getOpenFileNameAndFilter() วิธีการถูกแทนที่ด้วย getOpenFileName(), getOpenFileNamesAndFilter() โดย getOpenFileNames() และ getSaveFileNameAndFilter() โดย getSaveFileName(). ลายเซ็นที่เก่ากว่าของวิธีการเหล่านี้ก็มีการเปลี่ยนแปลงเช่นกัน
PyQt5 ไม่มีบทบัญญัติเพื่อกำหนดคลาสที่แบ่งย่อยจากคลาส Qt มากกว่าหนึ่งคลาส
pyuic5 ยูทิลิตี้ (เพื่อสร้างโค้ด Python จากไฟล์ XML ของนักออกแบบ) ไม่สนับสนุนแฟล็ก --pyqt3-wrapper
pyrcc5ไม่สนับสนุนแฟล็ก -py2 และ -py3 เอาต์พุตของ pyrcc5 เข้ากันได้กับ Python v2.6 ทุกเวอร์ชันเป็นต้นไป
PyQt5 จะเรียกใช้เสมอ sip.setdestroyonexit() โดยอัตโนมัติและเรียกตัวทำลาย C ++ ของอินสแตนซ์ที่รวมไว้ทั้งหมดที่เป็นเจ้าของ