Error en Python+PyQT: expected string, QString found

Esto ya me lo han consultado un par de personas así que escribo este post para poner la solución. Es posible que te encuentres con un error parecido a éstos:

TypeError: sequence item 0: expected string, QString found
TypeError: popen() argument 1 must be string, not QString

El problema se debe a que la una función espera un parámetro tipo string pero le damos uno de tipo QString. QString es el tipo de string que se usa en PyQT (por ejemplo en un QLineEdit). La solución pasa por usar la función str(). Por ejemplo:

nombre = str(self.NombreLineEdit.text())

Y nombre ya es de tipo string en lugar de QString.

3 thoughts on “Error en Python+PyQT: expected string, QString found

  1. @Juan he visto el comentario que has puesto en la webdelprogramador y entiendo que hay varias soluciones.

    Por ejemplo podrías usar expresiones regulares.

    También podrías usar la función split para separar la el contenido del lineedit de tal forma que cada línea quede como un elemento de una lista. Luego, con un bucle, vas recorriendo la lista y haciendo la conversión.

    Prueba a ver y nos comentas.

Deja un comentario