Имена PyQt4 показаны как неопределенные в eclipse, но работают нормально - PullRequest
11 голосов
/ 10 ноября 2011

Я использую Eclipse 3.7.1 с последней надстройкой PyDev для программирования на Python. Я использую PyQt4. Вверху моего файла у меня есть:

from PyQt4.QtCore import *
from PyQt4.QtGui import *

Кроме того, у меня есть дерево PyQt4, включенное в список Project Explorer. Тем не менее, затмение все еще думает, что имена, такие как QMainWindow, не определены. Код работает нормально. Как я могу получить затмение, чтобы распознать эти имена.

Спасибо

Ответы [ 2 ]

16 голосов
/ 11 ноября 2011

PyQt на самом деле является оболочкой библиотек C ++ Qt. Таким образом, они не .py файлы, и PyDev не может проанализировать их, чтобы найти то, что в них. Вам нужно добавить PyQt4 на вкладке Forced Builtins , чтобы PyDev мог использовать оболочку Python, чтобы "изучить" эти библиотеки и узнать, что в них. Это также даст вам завершение кода для PyQt.

Кроме того, обычно не рекомендуется использовать from foo import *. Вы будете импортировать все внутри своего пространства имен, и вы не будете знать, что и откуда. Более того, у вас могут быть конфликты имен, которые маскируют друг друга. Хотя с PyQt это маловероятно, я бы порекомендовал вам привыкнуть к from PyQt4 import QtGui, QtCore и ссылочным классам, таким как QtGui.QMainWindow.

0 голосов
/ 10 ноября 2011

иногда случается, что PyDev сходит с ума ... Если перезапуск Eclipse не сработает, подумайте над этим: PyDevPreferencs

Нажмите кнопку «Применить» и выберите интерпретатора Python.Это должно заставить Eclipse восстановить существующие библиотеки.

...