Здравствуйте. Только начал изучать pyqt. Для этого использую книгу Rapid GUI Programming with Python and Qt.
Имеется такая часть кода (целиком взято из книги).
settings = QtCore.QSettings()
self.recentFiles = settings.value('RecentFiles').toStringList()
size = settings.value('MainWindow/Size', QtCore.QVariant(QtCore.QSize(600, 500))).toSize()
self.resize(size)
position = settings.value('MainWindow/Position', QtCore.QVariant(QtCore.QPoint(0, 0)))\
.toPoint()
self.move(position)
self.restoreState(settings.value('MainWindow/State').toByteArray())
self.setWindowTitle('Image Changer')
self.updateFileMenu()
QtCore.QTimer.singleShot(0, self.loadInitialFile)
Без нее в python3 все работает.
С ней:
line 123, in __init__
self.recentFiles = settings.value('RecentFiles').toStringList()
AttributeError: 'NoneType' object has no attribute 'toStringList'
Комментим :
# self.recentFiles = settings.value('RecentFiles').toStringList()
, и получаем
line 125, in __init__
size = settings.value('MainWindow/Size', QtCore.QVariant(QtCore.QSize(600, 500))).toSize()
TypeError: PyQt4.QtCore.QVariant represents a mapped type and cannot be instantiated
Изначально использовал python3, ради эксперемента запустил через второй, все заработало (даже, если ничего не комментить).
Подскажите куда копать.
Так же если знаете аткие, то посоветуйте книги по pytqt (если вообще такие есть, эту то еле нашел, тоже на тостере).