흠, 나는 (Python) 사전으로 PyQt 설정을 관리하는 것이 현명하다고 생각했습니다. 그렇게하면 저장 및 비교를 위해 적어도 설정을 반복 할 수 있다고 생각했습니다.부울 값으로 Qsettings를 사용하여 설정 사전을 반복합니다.
하지만 부울 값을 사용할 때 문제가 발생했습니다.
나는이만큼의 어떤 논리 값이 아니기 때문에 작동
def changed(self):
s = QSettings()
for key in self._options:
#print key, self._options[key], s.value(key)
if self._options[key] != s.value(key):
return True
return False
방법을 가지고있다.
사전에 부울 값이 있으면이 함수는 항상 True를 반환합니다.
hasDefault True true
의 문제 및 결과를
print
라인을 보여줍니다 주석을
그래서 질문 : 무엇 반환을 QSettings이며 어떻게 얻을 수 파이썬은 부울에 올바르게 비교하기 위해 소문자 true
?
toBool()
다른 플랫폼에서 다른 표현을 보완해야한다고 읽었습니다. 그러나 나는 그런 루프에서 이것을 어떻게 할 수 있는지를 보지 못한다. (즉, 비교할 타입을 미리 알지 못한다.)
힌트 또는 해결책을 높이 평가!