仅记录了核心部分代码,要结合具体界面使用
from PyQt5.QtWidgets import QMessageBox,QFileDialog
import os
def inputOS(self):#读取路径, 判断路径是否合规(不为空,不含有中文字符), 展示路径
self.input_filePath = QFileDialog.getExistingDirectory(self.ui, "选择输入图像路径")
if self.chinese_text(self.input_filePath) is False: # 判断路径是否为空,以及是否含有中文字符
self.ui.lineEdit.setText(self.input_filePath) # 若符合if ,则使用ui.lineEdit展示路径
self.source=self.input_filePath#把路径赋值给接下来的函数
def weightOS(self):#读取路径, 判断路径是否合规,路径下是否有需要的文件,展示路径
self.weight_filePath = QFileDialog.getExistingDirectory(self.ui, "选择模型路径best.pt")
if self.chinese_text(self.weight_filePath) is False: # 判断路径是否为空,是否含有中文字符
self.ui.lineEdit_3.setText(self.weight_filePath)
if "best.pt" in os.listdir(self.weight_filePath):
# Load a model
self.model = gongnneghanshu(os.path.join(self.weight_filePath, 'best.pt')) #把路径赋值给需要的函数
else:
QMessageBox.about(self.ui,
f'提示:',
f'''该路径下无best.pt模型文件!'''
)
def chinese_text(self,text):
if text =='':
QMessageBox.about(self.ui,
# f'{m}张图像检测完成!',
f'提示:',
f'''请指定路径'''
)
return True
else:
t = re.search(r'[\u4e00-\u9fff]', text)
if t is not None:
QMessageBox.about(self.ui,
f'提示:',
f'''请确保路径中不含有中文字符!'''
)
return True
else:
return False