PyQt5 не может импортировать имя «QApplication»

Я пытаюсь преобразовать свой код из PyQt4 в PyQt5, но получаю ошибки.

from PyQt5.QtGui import QApplication, QPixmap
desktop = QApplication.desktop()
QPixmap.grabWindow(desktop.screen().winId()).save("screen.png", "PNG")


3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)]
Traceback (most recent call last):
  File "C:\Python34\Projects\name.py", line 7, in <module>
    from PyQt5.QtGui import QApplication, QPixmap
ImportError: cannot import name 'QApplication'

person Arthur Yakovlev    schedule 25.03.2015    source источник
comment
Переход по pyqt.sourceforge.net/Docs/PyQt5/pyqt4_differences.html может помощь...   -  person sebastian    schedule 25.03.2015


Ответы (2)


QApplication находится в модуле PyQt5.QtWidgets. Таким образом, ваш оператор импорта должен быть:

from PyQt5.QtWidgets import QApplication
person styvane    schedule 25.03.2015

QApplication находится в PyQt5.QtWidgets.

Так и должно быть

from PyQt5.QtWidgets import QApplication
person azalea    schedule 25.03.2015
comment
Голосование не потому, что оно решило мою проблему, а потому, что почти идентичный и более поздний ответ получил одобрение. - person Michael Scheper; 13.11.2015