2013-06-30 38 views
5

Có một số lý do khiến QtGui được đóng gói với PyQt5 ???Mô-đun PyQt5 và QtGui không tìm thấy

Tôi đang sử dụng sách lập trình GUI nhanh của Mark Summerfield. Rõ ràng cuốn sách này đã được viết với Qt4 trong tâm trí, nhưng tôi đã được khuyến khích sử dụng Qt5, và PyQt5. Tôi muốn chạy các mã ví dụ đầu tiên trong chương 4. Mã này bắt đầu với những điều khoản về nhập khẩu sau:

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

Để mà trình biên dịch phản ứng:

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

Lưu ý rằng câu lệnh import PyQt5.QtCore làm không tạo ra lỗi.

Từ nhà ga,

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

Có ai khác đi qua lỗi nhập khẩu này cho QtGui?

Từ một phiên tương tác tôi có thể

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

Nhưng tôi không có QtWidgets, QtGui, QtWebkit, QtDesigner, và một số người khác.

Ngoài ra, nếu nó là hữu ích, nội dung của /usr/lib/python3.3/site-packages/PyQt5 là:

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

đó là những module tương tự mà tôi có thể nhập khẩu. Nên các mô-đun khác (QtWidgets, QtGui, vv) được ở đây quá?

Tôi đang sử dụng Ubuntu 13.04 và Python 3.3.

+0

Có thể bạn nên sử dụng PyQt5.QtWidgets thay vì QtGui? Xem [ví dụ này] (http://pyqt.sourceforge.net/Docs/PyQt5/python_shell.html). –

+0

Vâng, tôi đã thấy điều đó. Thật không may QtWidgets cũng đưa ra lỗi nhập tương tự. – ADB

+0

Nếu ví dụ từ tài liệu không hoạt động thì cài đặt pyqt sai hoặc không đầy đủ. Vui lòng cung cấp một số thông tin về hệ điều hành và cài đặt pyqt của bạn. –

Trả lời

1

Vấn đề là khi tôi chạy kịch bản cấu hình PyQt5. Tùy chọn chính xác để vượt qua như sau:

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

Tôi đã cung cấp đường dẫn tới thùng, nhưng không đặc biệt trỏ đến qmake. Đi con số!

Sau khi chạy tập lệnh cấu hình như thế này, tôi có thể nhập tất cả các mô-đun PyQt5.

-3

trong PyQt5, QtGuiQtCore nằm vào QtWidgets

Bạn nên nhập như thế này:

from PyQt5.QtWidgets import QtGui, QtCore 

thay vì

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

Hy vọng điều này sẽ giúp ích. :)

+1

hi, trong PyQt5, mã sau của bạn từ 'PyQt5.QtWidgets nhập QtGui, QtCore' trả về lỗi này ImportError: không thể nhập tên QtGui – Rhys

+1

@Rhys kiểm tra bạn đang dùng PyQt5 hoặc PyQt4. Giải pháp này chỉ hoạt động cho PyQt5. –

+0

** PyQt5.5.1 và Qt5.6 **: 'từ PyQt5.QtWidgets nhập QtGui, QtCore' => * ImportError: không thể nhập tên 'QtGui *'. Điều này làm việc: 'từ PyQt5.QtWidgets nhập khẩu QWidget' và ' nhập khẩu PyQt5.QtCore như QtCore'. Nếu bạn thực sự cần mô-đun QtGui: 'nhập PyQt5.QtGui thành QtGui' – 7stud

3

Khi lần đầu tiên thử pyqt4 và pyqt5 và IDE pycharm tôi gặp nhiều vấn đề với nhập khẩu. (mặc dù nhập khẩu không có prob chạy từ IDLE) Cuối cùng sau khi nhiều nhồi xung quanh, gỡ bỏ cài đặt và cài đặt lại, (bao gồm cả phụ thuộc) nhập khẩu sắp xếp mình ra ngoài.

Bạn đã cài đặt pyqt5 bằng trình cài đặt từ trang web pyqt chưa? Bạn phải. Thiết kế Qt được tìm thấy trong menu bắt đầu trong cửa sổ. Khi sau hướng dẫn PyQt4, tôi đã có may mắn sử dụng các báo cáo nhập khẩu sau cho PyQt5 ...

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

Tôi mới để nó bản thân mình nhưng trong pyqt4, QtWidget là một phần của QtGui (QtGui.QtWidget), trong pyqt5 nó được nhập khẩu bởi chính nó như là QtWidgets. Chỉ có một sự thay đổi nhỏ trong mã để có được các hướng dẫn pyqt4 làm việc trong pyqt5.

Cá nhân tôi đã quay lại pYqt4 để tận dụng lợi thế của pyqtgraph.

Hãy xem bài đăng pyqt4 của tôi here để hướng dẫn bạn sử dụng Thiết kế Qt.

2

Configure PyQt với lệnh này:

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

Cho dù một module qt xây dựng hay không phụ thuộc vào kiểm tra của configure.py. Hãy xem đầu ra của thiết bị đầu cuối và bạn sẽ tìm thấy lý do tại sao QtGui..QtWidgets không được cài đặt đúng cách.

+0

ngay trên! Tôi không có thư viện GL được cài đặt để QtGui không xây dựng. một 'sudo apt install libgl-dev' đã thực hiện thủ thuật cho tôi - sau đó cấu hình thiết lập mọi thứ một cách chính xác. –

-3

Loại lỗi tương tự của tôi là do không hoàn thành quá trình cài đặt PySide. Điều này đã khắc phục sự cố cho tôi:

$ pyside_postinstall.py -install 
+1

OP hỏi về các vấn đề với việc nhập khẩu 'PyQt5' và bạn đưa ra lời khuyên về' PySide' mà btw. không hỗ trợ 'Qt5'. – rbaleksandar

Các vấn đề liên quan