一直有發布一些與Pyqt5的相關文章,好友@碳烤大鵬鳥 留言:
推薦使用pyside,多給這個庫提供一點代碼資料,這是qt母公司推出的Python版,協議更寬松,支持商用閉源。但網上找的資料卻還是PyQt和Qt的c 代碼。
PySide6與PyQt6之間的最大的差别在于它們的許可協議上,而PySide6許可協議更友好,并且也是Qt官方公司主推的框架(親兒子,值得擁有)。
PySide是LGPL協議,LGPL協議是一個商業友好的協議使用 LGPL 協議開發閉源程序,如果使用動态鍊接的形式,就可以以任何形式(商業的、非商業的、開源的、非開源的等等)發布的應用程序
PyQt有兩種許可協議,一種是GPLv3許可協議,另一種是需要授權的商業許可協議,GPLv3許可協議是指,如果程序引用了該協議,則程序也必須開源,如果想要商業閉源,則必須購買該公司的商業許可協議。
本文主要就是體驗一下PySide6。
一、PySide6的安裝安裝比起PyQt更加簡潔方便,一行命令即可。
二、在VSCode中配置
pip install PySide6
1、安裝Qt for Python擴展
2、擴展設置
打開安裝的Qt for Python 這個擴展設置,
在settings.json中編輯,在配置文件末尾添加以下配置代碼
"qtForPython.designer.path": null, "qtForPython.rcc.path": null, "qtForPython.uic.path": null, "qtForPython.uic.args": ["-o ${FileDirname}${pathSeparator}Ui_${fileBasenameNoExtension}.py" ], "qtForPython.rcc.args": ["-o ${fileDirname}${pathSeparator}${fileBasenameNoExtension}_rc.py" ], //"qtForPython.rcc.args": ["-o ${fileDirname}${pathSeparator}rc_${fileBasenameNoExtension}.py" ], "qtForPython.lupdate.liveExecution": true,
三、PySide6使用測試
1、設計界面
右鍵菜單:New Form(Qt Designer UI File),打開Qt 設計師工作界面
看不出與PyQt中的Qt Designer有什麼差别,組件都一樣的。
設計界面保存:demo.ui,方便後面代碼演示測試,不用手動編譯,自動同目錄下生成Ui_demo.py文件。(這個比PyQt5還要方便)
另外,新建一個資源文件:rec.qrc,編譯後生成:rec_rc.py
編譯後文件名規則在配置文件中,可以自行修改。
資源文件
2、業務代碼
與PyQt5引用不同的地方:from PyQt5 import QtCore, QtGui, QtWidgets改成:
from PySide6 import QtCore, QtGui, QtWidgets
import sys from PySide6 import QtCore, QtGui, QtWidgets from Ui_demo import Ui_MainWindow class MainWindow(QtWidgets.QMainWindow,Ui_MainWindow): def __init__(self): super().__init__() self.setupUi(self) self.pushButton.clicked.connect(self.on_pushButton_clicked) def on_pushButton_clicked(self): #獲取資源文件中的圖片 pixmap = QtGui.QPixmap(':/pic/74.jpg') #将圖片顯示到label上 self.label.setFixedSize(pixmap.size()) self.label.setPixmap(pixmap) self.label.setScaledContents(True) #彈出消息對話框 QtWidgets.QMessageBox.information(self, "提示", "您點擊了按鈕") if __name__ == '__main__': app=QtWidgets.QApplication(sys.argv) mywindow=MainWindow() mywindow.setWindowTitle('PySide6示例') mywindow.show() sys.exit(app.exec_())
從運行的窗體效果也看不出與PyQt5有什麼變化。
四、PySide6與PyQt5兼容性測試
使用這一個實例:131.Python——PyQt5:單選按鈕和複選框的使用,
1、界面UI:使用PySide6重新打開UI,無需要任何改動,保存即可。
2、業務代碼:把from PyQt5 import QtCore, QtGui, QtWidgets 改成:
from PySide6 import QtCore, QtGui, QtWidgets
程序完成正常運行,說明PySide6是兼容PyQt5的。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!