vscode?配置使用pyqt5的詳細步驟
1. vscode 配置 pyqt_designer
給 vscode 安裝插件 “PYQT Integration”,點擊 “PYQT Integration” 插件界面的齒輪,選擇“Settings”,進入該插件的設(shè)置頁面:

進入以下界面:
配置1:設(shè)置 Pyuic 的路徑
Pyuic用于將GUI界面的 .ui 文件轉(zhuǎn)換為 .py 文件。
找到 “Pyqt-integration > Pyuic: Cmd”,填入安裝PyQt5的虛擬環(huán)境中Pyuic的絕對路徑,如下:
D:\data\...\venv_QT\Scripts\pyuic5
配置2:設(shè)置 QT designer 的路徑
QT designer 是 QT 用來設(shè)計 GUI 的軟件,通過拖拽組件可以快速構(gòu)建GUI。
找到 " Pyqt-integration > Qtdesigner: Path ",輸入虛擬環(huán)境中QT designer的絕對路徑,如下:
D:\data\...\venv_QT\Lib\site-packages\qt5_applications\Qt\bin\designer
配置結(jié)果如下圖所示:

## 2. 創(chuàng)建 .ui 文件
在 vscode 的文件目錄下,點擊鼠標(biāo)右鍵,選擇“PYQT:New Form”, 創(chuàng)建 qt 的 ui 界面,自動調(diào)用qt-designer打開

vscode自動調(diào)用qt-designer打開,創(chuàng)建并打開一個.ui文件,這里以創(chuàng)建 “Main Window”為例,介紹后續(xù)使用方法。

創(chuàng)建一個 “Main Window”,從左側(cè)拖進來一個 button之后,“ctrl+s"保存,彈出如下對話框,保存為 .ui 文件

關(guān)閉qt-designer.
回到 vscode, 在剛剛保存的 .ui 文件上,鼠標(biāo)右鍵,

- PYQT:New Form : 用于創(chuàng)建一個新的.ui文件/界面
- PYQT:Preview: 會顯示 .ui 界面的效果
- PYQT:Edit in Designer: 用 qt-designer 重新打開 .ui 文件進行編輯
- PYQT: Compile Form 將 .ui 文件編譯為 .py 文件,創(chuàng)建了一個python類,供后續(xù)界面功能的開發(fā)使用。
2. 編譯 .ui 文件 得到 .py 文件
在vscode中,在上一步創(chuàng)建的 .ui 文件上,點擊鼠標(biāo)右鍵,選擇 ”PYQT: Compile Form“ 選項,得到.py 文件,如下:
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'f:\_文件_\pyqt_tests\pyqt_designer_test_1\test_1.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(640, 480)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
# 這里是對應(yīng)組件的設(shè)置
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(430, 360, 93, 28))
self.pushButton.setObjectName("pushButton")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 640, 26))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.pushButton.setText(_translate("MainWindow", "PushButton"))3. 簡單使用 .ui 定義的界面,添加槽函數(shù)
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys
from Ui_test_1 import Ui_MainWindow
# 定義一個槽函數(shù)
def on_btn_ok():
print("hello world")
# 創(chuàng)建一個空界面
app = QApplication(sys.argv)
main_window = QMainWindow() # 創(chuàng)建以惡搞窗口
# 調(diào)用ui文件編譯得到的頭文件,配置main_window
ui = Ui_MainWindow() # 常見一個窗口配置類的類對象
ui.setupUi(main_window) # 用 ui 類裝飾 創(chuàng)建的 main_window
# 給 ui 界面中的pushButton組件添加槽函數(shù)
ui.pushButton.clicked.connect(on_btn_ok)
# 顯示窗口
main_window.show()
sys.exit(app.exec_())4. 高級使用 .ui 定義的界面
繼承 QMainWindow, 與 第三步生成的 Ui_MainWindow 類,創(chuàng)建一個新的類,管理ui界面中的所有組件,以及添加槽函數(shù)。
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys
from Ui_test_1 import Ui_MainWindow
# 繼承 Ui_MainWindow 與 QMainWindow 創(chuàng)建新類
class MyMainWindow(QMainWindow,Ui_MainWindow): #這里也要記得改
def __init__(self,parent =None):
super(MyMainWindow,self).__init__(parent) # QMainWindow 初始化
self.setupUi(self) # 用 Ui_MainWindow 的 setupui 函數(shù)給 QMainWindow 添加組件
# 給QMainWindow 的組件添加槽函數(shù)
self.pushButton.clicked.connect(self.slot_on_btn_clicked)
# 定義槽函數(shù)
def slot_on_btn_clicked(self):
print("hello world!")
if __name__ == "__main__":
app = QApplication(sys.argv)
w = MyMainWindow()
w.show()
sys.exit(app.exec_())到此這篇關(guān)于vscode 配置使用pyqt5的詳細步驟的文章就介紹到這了,更多相關(guān)vscode 使用pyqt5內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python字符串分割常用方法(str.split()和正則)
在Python中字符串是一種非常常見的數(shù)據(jù)類型,在實際應(yīng)用中我們經(jīng)常需要對字符串進行分割,以便對其中的內(nèi)容進行處理,這篇文章主要給大家介紹了關(guān)于python字符串分割(str.split()和正則)的相關(guān)資料,需要的朋友可以參考下2023-11-11
Python腳本實現(xiàn)批量發(fā)布Markdown文章
這篇文章主要為大家詳細介紹了如何使用Python腳本實現(xiàn)自動化批量發(fā)布Markdown文章,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2026-03-03
Python程序打包成EXE的四種方法詳解與實戰(zhàn)
將Python代碼打包成可執(zhí)行文件是一種使你的應(yīng)用程序更易于分享和分發(fā)的方法,本文一步一步地教你如何用 Pyinstaller 模塊將Python程序打包成exe文件,這篇教程絕對是全網(wǎng)最全面、最詳細的教程,包含四種打包的方法,需要的朋友可以參考下2025-07-07
Python Tkinter Entry和Text的添加與使用詳解
這篇文章主要介紹了Python Tkinter Entry和Text的添加與使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python?Selenium動態(tài)渲染頁面和抓取的使用指南
在Web數(shù)據(jù)采集領(lǐng)域,動態(tài)渲染頁面已成為現(xiàn)代網(wǎng)站的主流形式,本文將從技術(shù)原理,環(huán)境配置,核心功能系統(tǒng)講解Selenium在Python動態(tài)爬蟲中的應(yīng)用,需要的可以參考下2025-05-05

