流程大概就是这样
- 流程大概就是先用Qfile对话获取路径
- 再用cv2.imread函数读取
- 这里要做一个转通道处理否则
QPixmap是放不进去的
- 同时cv2.imread是读取不了中文路径的,所以我们可以弄一个函数来判断图片路径是否带有中文,防止报错,当检测到中文返回错误的值,弹出消息框然后返回
- 当然你如果你会用cv2.imread读取中文路径的图片的话你可以直接跳过这一步
测试截图
# 判断是否带有中文这里check_str就是传进来的路径
def contain_chinese(self, check_str):
for ch in check_str:
if '\u4e00' <= ch <= '\u9fa5':
return True
return False
# Designer By Caac one
# 打开图片并转通道
if imgName:
self.Image = cv2.imread(str(imgName))
self.image1 = self.Image.copy()
self.Image = cv2.cvtColor(self.Image, cv2.COLOR_BGR2RGB)
self.QtImg = QtGui.QImage(self.Image.data,
self.Image.shape[1],
self.Image.shape[0],
self.Image.shape[1] * 3,
QtGui.QImage.Format_RGB888)
self.label.setPixmap(
QtGui.QPixmap.fromImage(self.QtImg).scaled(self.label.width(), self.label.height()))
# Designer By Caac one
因为我界面和槽函数是分开放的这样也可以更清晰,不用全在界面那里写
代码整体链接
目录
Start.py(启动界面)
untitled.py(界面设计)
抗揍云链接https://wwp.lanzouq.com/ipQCQxzsv3a
环节出错以及有什么问题的可以来群954736632
1月会开源一个自已写的小玩意
大概效果就是这样, 寻找缺陷这个鲁棒性有点拉,不过截取手机屏幕这个还是挺好的
里边还有一些Qt设计的内容, 悬停,以及点击后的一些美化,以及label控件的一些美化设置,
虽然说看上去有点阴间
补上一张运行图