"Аргумент 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")