tft每日頭條

 > 科技

 > 在vscode中如何寫python的代碼

在vscode中如何寫python的代碼

科技 更新时间:2024-09-08 08:45:44

一直有發布一些與Pyqt5的相關文章,好友@碳烤大鵬鳥 留言:

推薦使用pyside,多給這個庫提供一點代碼資料,這是qt母公司推出的Python版,協議更寬松,支持商用閉源。但網上找的資料卻還是PyQt和Qt的c 代碼。

PySide6與PyQt6之間的最大的差别在于它們的許可協議上,而PySide6許可協議更友好,并且也是Qt官方公司主推的框架(親兒子,值得擁有)。

PySide是LGPL協議,LGPL協議是一個商業友好的協議使用 LGPL 協議開發閉源程序,如果使用動态鍊接的形式,就可以以任何形式(商業的、非商業的、開源的、非開源的等等)發布的應用程序

PyQt有兩種許可協議,一種是GPLv3許可協議,另一種是需要授權的商業許可協議,GPLv3許可協議是指,如果程序引用了該協議,則程序也必須開源,如果想要商業閉源,則必須購買該公司的商業許可協議。


本文主要就是體驗一下PySide6。

一、PySide6的安裝

安裝比起PyQt更加簡潔方便,一行命令即可。

pip install PySide6

二、在VSCode中配置

1、安裝Qt for Python擴展

在vscode中如何寫python的代碼(132.PythonPySide6)1

2、擴展設置

打開安裝的Qt for Python 這個擴展設置,

在vscode中如何寫python的代碼(132.PythonPySide6)2

在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,

在vscode中如何寫python的代碼(132.PythonPySide6)3

三、PySide6使用測試

1、設計界面

右鍵菜單:New Form(Qt Designer UI File),打開Qt 設計師工作界面

在vscode中如何寫python的代碼(132.PythonPySide6)4

看不出與PyQt中的Qt Designer有什麼差别,組件都一樣的。

在vscode中如何寫python的代碼(132.PythonPySide6)5

設計界面保存:demo.ui,方便後面代碼演示測試,不用手動編譯,自動同目錄下生成Ui_demo.py文件。(這個比PyQt5還要方便)

另外,新建一個資源文件:rec.qrc,編譯後生成:rec_rc.py

編譯後文件名規則在配置文件中,可以自行修改。

在vscode中如何寫python的代碼(132.PythonPySide6)6

在vscode中如何寫python的代碼(132.PythonPySide6)7

資源文件

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有什麼變化。

在vscode中如何寫python的代碼(132.PythonPySide6)8

四、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每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved