2013-06-30 29 views
5

C'è qualche ragione per cui QtGui è stato confezionato con PyQt5 ???Modulo PyQt5 e QtGui non trovato

Sto utilizzando il libro di programmazione Rapid GUI di Mark Summerfield. Ovviamente questo libro è stato scritto pensando a Qt4, ma mi è stato raccomandato di usare Qt5 e PyQt5. Voglio correre il primo codice di esempio nel capitolo 4. Il codice inizia con le seguenti istruzioni di importazione:

import sys 
import time 
from PyQt5.QtCore import * 
from PyQt5.QtGui import * 

Al che il compilatore risponde:

Traceback (most recent call last): 
    File "wakeUp.py", line 4, in <module> 
    from PyQt5.QtGui import * 
ImportError: No module named 'PyQt5.QtGui' 

Si noti che l'istruzione import PyQt5.QtCore fa non generare un errore.

Dal terminal,

$ echo $PYTHONPATH 
:/usr/lib/python3.3/site-packages 

Ha chiunque altro imbattuto in questo errore di importazione per QtGui?

Da una sessione interattiva posso

>>> import PyQt5.Qt 
>>> import PyQt5.QtDBus 
>>> import PyQt5.QtNetwork 
>>> import PyQt5.QtXmlPatterns 

Ma io non ho QtWidgets, QtGui, QtWebKit, QtDesigner, e molti altri.

Inoltre, se è utile, il contenuto di /usr/lib/python3.3/site-packages/PyQt5 sono:

__init__.py QtCore.so QtDBus.so QtNetwork.so Qt.so QtXmlPatterns.so uic 

che sono gli stessi moduli che sono in grado di importare. Dovrebbero essere presenti anche gli altri moduli (QtWidgets, QtGui, ecc.)?

Sto usando Ubuntu 13.04 e Python 3.3.

+0

Potrebbe essere necessario utilizzare PyQt5.QtWidgets anziché QtGui? Vedi [questo esempio] (http://pyqt.sourceforge.net/Docs/PyQt5/python_shell.html). –

+0

Sì, l'avevo visto. Sfortunatamente anche QtWidgets sta dando lo stesso errore di importazione. – ADB

+0

Se l'esempio dei documenti non funziona, l'installazione di pyqt è errata o incompleta. Fornisci alcune informazioni sul tuo sistema operativo e sull'installazione di pyqt. –

risposta

1

Il problema era quando eseguivo lo script di configurazione PyQt5. L'opzione corretta per passare andata così:

> python3 configure.py --qmake [path to Qt5.x]/bin/qmake 

stavo fornendo il percorso fino a bin, ma non ha specificamente puntare a qmake. Vai a capire!

Dopo aver eseguito lo script di configurazione come questo, sono stato in grado di importare tutti i moduli PyQt5.

-3

in PyQt5, QtGui e QtCore si trova nelle QtWidgets

Si dovrebbe importare come questo:

from PyQt5.QtWidgets import QtGui, QtCore 

invece di

from PyQt5.QtCore import * 
from PyQt5.QtGui import * 

Spero che questo aiuti. :)

+1

ciao, in PyQt5, il seguente codice da 'PyQt5.QtWidgets importa QtGui, QtCore' restituisce questo errore ImportError: impossibile importare il nome QtGui – Rhys

+1

@Rhys verifica che stai usando PyQt5 o PyQt4. Questa soluzione funziona solo per PyQt5. –

+0

** PyQt5.5.1 e Qt5.6 **: 'da PyQt5.QtWidgets import QtGui, QtCore' => * ImportError: impossibile importare il nome 'QtGui *'. Funziona: 'da PyQt5.QtWidgets importa QWidget' e ' importa PyQt5.QtCore come QtCore'. Se hai effettivamente bisogno del modulo QtGui: 'importa PyQt5.QtGui as QtGui' – 7stud

3

Quando ho provato pyqt4 e pyqt5 e l'IDE pycharm per la prima volta, ho avuto molti problemi con le importazioni. (anche se le importazioni non hanno avuto problemi a partire da IDLE) Alla fine, dopo un po 'di roba di riempimento, disinstallazione e reinstallazione (incluse le dipendenze) le importazioni si sono ordinate.

Hai installato pyqt5 utilizzando un programma di installazione dal sito Web pyqt? Devi. Qt designer si trova sotto il menu Start in Windows. Quando si segue tutorial PyQt4, ho avuto la fortuna utilizzando le seguenti istruzioni di importazione per PyQt5 ...

from PyQt4 import QtCore, QtGui #in the pyqt4 tutorials 
from PyQt5 import QtCore, QtGui, QtWidgets #works for pyqt5 

Sono nuovo di me stesso, ma in PyQt4, QtWidget faceva parte di QtGui (QtGui.QtWidget), in pyqt5 viene importato da solo come QtWidgets. È solo un piccolo cambiamento nel codice per far funzionare le esercitazioni pyqt4 in pyqt5.

Personalmente sono tornato su pYqt4 per sfruttare pyqtgraph.

Guarda il mio post pyqt4 here che ti guida attraverso Qt Designer.

2

Configura PyQt con questo comando:

python[3] configure.py --qmake=[path to Qt5.x]/bin/qmake --verbose

se un modulo qt costruisce o meno dipende controllo del configure.py. Dai un'occhiata all'output del terminale e troverai il motivo per cui QtGui..QtWidgets non è stato installato correttamente.

+0

subito! Non avevo installato le librerie GL, quindi QtGui non stava costruendo. un 'sudo apt install libgl-dev' ha fatto il trucco per me - dopodiché configura tutto correttamente. –

-3

Il mio tipo di errore simile è stato causato dal completamento non completo dell'installazione PySide. Questo lo ha risolto per me:

$ pyside_postinstall.py -install 
+1

L'OP sta chiedendo problemi con l'importazione di 'PyQt5' e si danno consigli su' PySide' che btw. non supporta 'Qt5'. – rbaleksandar

Problemi correlati