Python3은 언어를 "정리"하기 위해 많은 양립 불가능한 변경을했으며, PyQt는 일부 API의 "더 pythonic"버전을 도입하여 동일하게 수행했습니다. 그러나이 다른 API 버전은 Python2 및 Python3 모두에 대해 클래스별로 선택할 수 있으므로 유일한 차이점은 각 Python 버전에 대해 기본값이 선택된다는 것입니다.
Python2에서 QString
의 기본 API 버전은 "v1"이며 파이썬 유형으로 구현됩니다. Python3에서 기본값은 적절한 Python 문자열 객체로 자동으로 변환되는 "v2"입니다.
sip
패키지의 setapi
기능을 사용하여 API 버전을 선택할 수 있습니다. 따라서 PyQt는 모듈이 처음으로 가져 오기 전에 바로 확인 appropropriate 버전이 설정되어 있는지 확인, 응용 프로그램에서 QString
클래스를 사용하여 계속이 방법을 설정할 수있는 모든 API에 대한 자세한 내용
import sip
sip.setapi('QString', 1)
from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s
이 here를 참조하십시오.