问题描述:
我想对现有的YOLO检测模型开发一个检测界面,使用Qt Designer设计一个调用YOLO目标检测的界面,然后使用pyinstaller打包成exe程序。
问题解答:
第一步:
先下载好ultralytics代码,然后配置环境,调通程序。
第二步骤:
利用Qt Designer设计设计界面,下面是设计一个简单的界面,从Buttons那里拖出来了3个Push Button,分别命名为了loadImageButton、loadWeightsButton、runDetectionButton。从Display Widgets拖出来了Label,并重命名为resultLabel。
信号/槽编辑器那里,将发送者设置为pushButton、将信号设置为clicked()、将接收者设置为MainWindow
将设计好UI的命名为yourfile.ui,保存到ultralytics-main文件夹下面。
第三步
就在yourfile.ui目录下,运行
pyuic5 yourfile.ui -o ui_mainwindow.py生成了ui_mainwindow.py。
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'yourfile.ui' # # Created by: PyQt5 UI code generator 5.15.11 # # 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(800, 600) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(100, 180, 591, 331)) self.label.setObjectName("label") self.layoutWidget = QtWidgets.QWidget(self.centralwidget) self.layoutWidget.setGeometry(QtCore.QRect(140, 68, 155, 122)) self.layoutWidget.setObjectName("layoutWidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.loadButton = QtWidgets.QPushButton(self.layoutWidget) self.loadButton.setObjectName("loadButton") self.verticalLayout.addWidget(self.loadButton) self.pushButton_2 = QtWidgets.QPushButton(self.layoutWidget) self.pushButton_2.setObjectName("pushButton_2") self.verticalLayout.addWidget(self.pushButton_2) self.pushButto