픽스맵과 관련된 작업을 수행하기 전에 항상 QApplication
을 만들어야합니다. 예제 코드는 생성하려고 시도 할 시점에 이르지 못하지만 그렇게했다면 즉시 충돌 할 것입니다. QIcon
메서드의 동작은 QApplication
이 만들어지기 전에 "정의되지 않은"것으로 가장 잘 묘사됩니다. 여기
그러나
것들에게 (리눅스) 올바른 방법으로 할 때 내가 무엇을 얻을 수 있습니다 :
>>> from PyQt5 import QtGui, QtWidgets
>>> app = QtWidgets.QApplication([''])
>>> icon = QtGui.QIcon.fromTheme('edit-copy')
>>> icon.themeName()
'oxygen'
>>> icon.availableSizes()
[PyQt5.QtCore.QSize(48, 48), PyQt5.QtCore.QSize(32, 32), PyQt5.QtCore.QSize(22, 22), PyQt5.QtCore.QSize(16, 16)]
>>> QtGui.QIcon.hasThemeIcon('icon_that_does_definitely_not_exist')
False
밖으로 찾을 수있는 아이콘이에서 온 수 있습니다, 당신이 시도 할 수 있습니다 :
>>> QtGui.QIcon.themeSearchPaths()
['/home/foo/.icons', '/usr/local/share/icons', '/usr/share/icons', ':/icons']
QIcon
은 관련 이미지 그룹을 나타내므로 (예 : 런타임시 생성되는 비활성화 된 아이콘과 같이) 디스크의 해당 파일조차 가지고 있지 않기 때문에 "the"아이콘 경로를 묻는 것은 의미가 없습니다.