目前进展

​ 使用PySide2写了图形化界面,目前只修改了一点bug,基本能保证软件的流畅运行,几个注意点:

  • 界面更新在主线程中进行,更新的数据在QThread线程中获得,切忌在python的线程中,否则会导致界面卡死,QThread使用方法见下
  • 当主界面存在两个QLabel,需要显示两张图时,第二张图会对第一张产生影响,需要为每个QLabel添加box边框并且设置sizepolicy为ignore
  • 使用访问本地文件浏览器时,如果卡死,可以使用和本地浏览器不同的浏览器
  • 别在虚拟环境中pyinstaller,会导致虚拟环境直接G!很难受,重新搞环境
# Qthread使用方法
import time
import sys

from PyQt5.QtWidgets import QApplication

from gui.mainwindow import MainWindow

from PyQt5.QtWidgets import QMainWindow
from PyQt5.QtCore import QThread, pyqtSignal
from .ui_mainwindow import Ui_MainWindow


class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)

self.thread = Worker()
self.thread.sig.connect(self.updateLabel)

self.pushButton.clicked.connect(self.buttonClicked)

def buttonClicked(self):
self.thread.start()

def updateLabel(self, text):
self.label.setText(text)


class Worker(QThread):
sig = pyqtSignal(str)

def __init__(self, parent=None):
super(Worker, self).__init__(parent)
self.count = 0

def run(self):

while True:
time.sleep(1)
self.count += 1
if (self.count % 5 == 0):
self.sig.emit(f"已执行{self.count}秒")

if __name__ == '__main__':
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())

​ 写出来的界面还可以,嘿嘿

下一步打算

​ 有时间优化优化界面(其实也不需要了,基本功能都满足)

​ 从 pytorch——>onnx——>tensorrt 路线实现加速推理