0%

pyqt5+vscode开发环境配置及第一个程序_pyqt compile form-CSDN博客

Excerpt

文章浏览阅读6.4k次,点赞13次,收藏30次。1.首先使用pip下载两个pyqt5的pip install PyQt5pip install PyQt5-toolsps:这两个包比较大,建议使用国内镜像源。2.然后在vscode中下载安装插件pyqt integration3.新建一个py文件,右键这个文件发现这两个选项,就说明插件安装成功4.点这个PYQT:New Form之前,需要先配置下自己的QT环境。步骤一中下载的两个包,其中一个包含QT designer,这个是设计软件界面的一个开源软件,需要在vsco_pyqt compile form


1.首先使用pip下载两个pyqt5的

1
pip install PyQt5
1
pip install PyQt5-tools

ps:这两个包比较大,建议使用国内镜像源。

2.然后在vscode中下载安装插件pyqt integration

3.新建一个py文件,右键这个文件发现这两个选项,就说明插件安装成功

4.点这个PYQT:New Form之前,需要先配置下自己的QT环境。

步骤一中下载的两个包,其中一个包含QT designer,这个是设计软件界面的一个开源软件,需要在vscode中这个插件配置中设置下路径。

需要设置两个选项,默认安装pip的那两个包的话,路径类似这样

5.设置完成之后,在vscode中右键之前新建的python文件,点击PYQT:New Form

会自动新建一个叫untitled.ui的文件并会自动打开QT designer软件。

6.在QT designer设计完成界面后,保存后再切换到vscode中,右键这个untitled.ui文件,点击PYQT:Compile Form

会自动生成一个Ui_untitled.py的文件,说明开发环境已经配置完成。

配置完成之后,可以参考下以下示例(点击按钮在文本框中输出一个hello world):

1.首先新建一个python文件,名字随便起,我这就叫demo.py好了。

2.内容先可以不用写,直接可以右键新建一个ui工程。

右键这个py文件,会出现如下

点这个PYQT:New Form,然后会自动打开一个QT designer的应用程序

直接选Main Window,然后点Creat就好

然后再按照我们之前说得,要有一个文本框,一个按钮,随便先拖一个出来

然后保存,切换到vscode中

此时vscode中应该有了一个.ui的文件

右键这个文件,如下

点这个PYQT:Compile Form,右下角会提示成功,并且会多出一个py文件

打开这个py工程,就会发现这个就是我们刚刚在QT DESIGN中设计的界面类。

然后我们就可以编写主函数了

代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import sys

from PyQt5 import QtCore, QtGui, QtWidgets

import Ui_untitled

import time

def buttonClicked(girl):

girl.textBrowser.append("hello world")

if __name__ == '__main__':

app = QtWidgets.QApplication(sys.argv)

MainWindow = QtWidgets.QMainWindow()

ui = Ui_untitled.Ui_MainWindow()

ui.setupUi(MainWindow)

ui.pushButton.clicked.connect(lambda:buttonClicked(ui))

MainWindow.show()

sys.exit(app.exec_())

自动生成的ui代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):

def setupUi(self, MainWindow):

MainWindow.setObjectName("MainWindow")

MainWindow.resize(800, 600)

self.centralwidget = QtWidgets.QWidget(MainWindow)

self.centralwidget.setObjectName("centralwidget")

self.textBrowser = QtWidgets.QTextBrowser(self.centralwidget)

self.textBrowser.setGeometry(QtCore.QRect(160, 110, 256, 192))

self.textBrowser.setObjectName("textBrowser")

self.pushButton = QtWidgets.QPushButton(self.centralwidget)

self.pushButton.setGeometry(QtCore.QRect(570, 190, 75, 23))

self.pushButton.setObjectName("pushButton")

MainWindow.setCentralWidget(self.centralwidget)

self.menubar = QtWidgets.QMenuBar(MainWindow)

self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))

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"))