PyQt / TypeError:期望的字符串或Unicode对象,QString found`

时间:2017-04-27 21:31:40

标签: python unicode encoding utf-8 pyqt

我有以下代码。我做了一个GUI界面,我不想 将图像存储在将要创建程序的文件夹中。

  

TypeError:强制转换为Unicode:需要字符串或缓冲区,找到列表

我也试过用Qstring制作String,但是没有工作......或许,我 不知道如何保存图像。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果face_img是一个列表,则必须单独转换所有元素:

face_img = [unicode(elem, encoding="UTF-8") for elem in face_img] 

或者,在使用它时只转换第一个元素:

cv2.imwrite(folder + '/' + str(counter) + '.jpg', unicode(face_img[0], encoding="UTF-8"))

但是,通常您不需要自己从QString转换为str。通常PyQt会自动进行转化。遇到QString的事实很奇怪。这是需要对IHMO进行调查的根本问题,上述修复只是针对实际问题进行的。

我怀疑operatii模块QString中的某个地方是明确创建的。但是,我无法检查这一点,因为我没有operatii模块。您的代码示例不是完整。请在how to make a Minimal, Complete and Verifiable example上阅读此帖。通过发布MCVE,您将来会获得更多帮助。