2012-12-27 6 views
1

정확하게 PyKDE 인 PyKDE.kdecore.KStandardDirs을 사용하려고합니다. 이 메서드는 documentation에 따라 두 개의 문자열로 호출되며 PyQt4 설명서에 따라 QString 대신 표준 파이썬 str을 사용할 수 있습니다. 이 작동하지 않습니다 : 내가 잘못 뭐하는 거지"인수 1에 예기치 않은 유형 'str'이 있습니다."

>>> 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 

: 존재하지 않는 것 때문에

>> 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을 사용할 수 없습니다?

답변

2

필자는 최소한 PyKDE가 아직 파이썬 3 준비가되어 있지 않다고 생각합니다. 적어도 오류 메시지에 관한 것입니다. 대신 bytestring를 전달하려고 : 그것 뿐이다

KStandardDirs.locate(b"socket", "foo") 
+0

을, 두 번째 인수는 일반 문자열이어야하지만 (B "소켓", "foo는")'KStandardDirs.locate' – Erik

+0

@Erik : 멋진, 다행 일했다. 내가 생각하는 것을 더 잘 반영하도록 답변을 업데이트했습니다. –