Не выводится изображение PyQt
Есть две одинаковые по содержанию переменные, но разные по способу получения. С одной переменной изображение выводится, а с другой - нет.
name2 = self.face_im_name
print(name)
print(name2)
print(name == name2) # проверка, что переменные одинаковые
pixmap = QPixmap(name2)
self.mainlabel_face.setPixmap(pixmap)
вывод следующий:
imgs\sface2.jpg
imgs\sface2.jpg
False
нахождение name2:
self.face_im_name = self.my_counter.definition(self.num_face)
def definition(self, num): # параметр num исправно выводится
self.data = open('data.txt', encoding='utf-8')
self.image_name = None
for row in self.data:
row_l = row.split('*')
number = row_l[0]
if int(number) == num:
self.image_name = row_l[1]
self.data.close()
return self.image_name
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Вам надо убрать \n - разрыв строки.
Метод strip() возвращает копию строки, удаляя как начальные, так и конечные символы
(в зависимости от переданного строкового аргумента).
Попробуйте так:
def definition(self, num): # параметр num исправно выводится
self.data = open('data.txt', encoding='utf-8')
self.image_name = None
for row in self.data:
row_l = row.split('*')
number = row_l[0]
if int(number) == num:
self.image_name = row_l[1].strip() # <---- + .strip()
self.data.close()
return self.image_name