vs2017 (已集成python3.6)
Anaconda (包含了Qt Designer、PyUIC5、PyRCC5,安装时勾选环境)
Opencv (pip install opencv-python 或者 pip3 install opencv-python)
PyQt5 (pip install pyqt5 或者 pip3 install pyqt5)
1、vs2017中 菜单栏 --> 工具 --> 外部工具 --> 添加
标题:QtDesigner
命令:D:\ProgramData\Anaconda3\Library\bin\designer.exe (这是我的Anaconda安装目录)
初始目录:$(ItemDir)
2、再次添加
标题:PyUIC5
命令:D:\ProgramData\Anaconda3\Library\bin\pyuic5.bat (这是我的Anaconda安装目录)
参数:$(ItemFileName).ui -o $(ItemFileName).py
初始目录:$(ItemDir)
3、再次添加
标题:PyRCC5 (设计有资源文件时转xxx.py文件)
命令:D:\ProgramData\Anaconda3\Library\bin\pyrcc5.bat (这是我的Anaconda安装目录)
参数:$(ItemFileName).ui -o $(ItemFileName).py
初始目录:$(ItemDir)
1、vs2017新建一个项目,Python应用程序
2、vs2017 --> 菜单栏 --> 工具 --> QtDesigner,拖入两个PushButton,一个Label, 一个textEdit,如图:
3、另存为helloworld_form.ui到工程目录并将添加到工程目录中,选中helloworld_form.ui文件
vc2017 --> 菜单栏 --> 工具 --> PyUIC5 ,会在同级目录下生成helloworld_form.py文件,将helloworld_form.py添加到工程中
如图:
4、在工程中新建一个Python文件,命名为main.py,写入如下代码:
import sys
import cv2
from helloworld_form import Ui_MainWindow
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtGui import QImage,QPixmap
class MyWindow(QMainWindow, Ui_MainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setupUi(self)
self.pushButton.clicked.connect(self.btn1)
self.pushButton_2.clicked.connect(self.btn2)
def cvMat2Qimg(self, mat):
mat = cv2.cvtColor(mat, cv2.COLOR_BGR2RGB)
return QImage(mat.tostring(), mat.shape[1], mat.shape[0], mat.shape[2] * mat.shape[1], QImage.Format_RGB888)
num = 0
def btn1(self):
img = cv2.imread('E:\\ProjectsPython\\AI\\one.jpg') #opencv读入图片
self.label.setPixmap(QPixmap.fromImage(self.cvMat2Qimg(img))) #opencv格式转换成pyqt格式
self.label.setScaledContents(1) #自适应大小
self.num += 1
self.setWindowTitle("按钮被点击了 {0} 次".format(self.num)) #改变窗体的名称
return None
def btn2(self):
self.textEdit.append("hello world")
self.num += 1
self.setWindowTitle("按钮被点击了 {0} 次".format(self.num)) #改变窗体的名称
return None
if __name__ == "__main__":
app = QApplication(sys.argv)
mainWindow = MyWindow()
mainWindow.show()
sys.exit(app.exec_())
5、运行结果
vc2017 --> 菜单栏 --> 调试 --> 在Python交互中执行文件