"Аргумент 1 имеет неожиданный тип" str ""

Я пытаюсь использовать PyKDE, PyKDE.kdecore.KStandardDirs точнее. Этот метод вызывается с двумя строками в соответствии с документацией и в соответствии с документацией PyQt4, я могу использовать стандартный Python strс вместо QString, Это не работает:

>> KStandardDirs.locate()("socket", "foo")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: KStandardDirs.locate(): not enough arguments
>>> KStandardDirs.locate("socket", "foo")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: KStandardDirs.locate(): argument 1 has unexpected type 'str'

Я не могу использовать QString либо потому, что он, кажется, не существует:

>>> from PyQt4.QtCore import QString
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name QString
>>> from PyQt4.QtCore import *
>>> QString
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'QString' is not defined

Что я делаю неправильно?

1 ответ

Решение

Я подозреваю, что PyKDE еще не готов к Python 3, по крайней мере, что касается этого сообщения об ошибке; попробуйте вместо этого передать строку байта:

KStandardDirs.locate(b"socket", "foo")
Другие вопросы по тегам