我下面的PyQt的教程,并得到这个代码:的PyDev不承认PyQt5
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class Example(QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
cb = QCheckBox('Show title', self)
cb.move(20, 20)
cb.toggle()
cb.stateChanged.connect(self.changeTitle)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Checkbox')
self.show()
def changeTitle(self, state):
if state == Qt.Checked:
self.setWindowTitle('Checkbox')
else: self.setWindowTitle('Unchecked!')
def main():
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
我使用的PyDev Eclipse的。只需说代码运行良好,但是有些尴尬的是,PyDev强调任何带有红线的Qt/Q,当它悬停时说Undefined variable: <..>
。如果它是未定义的,那么我的代码如何无误地运行?显然这应该是PyDev的一个问题。我已经删除了python解释器(它指向python2.7而不是3.4),并将其作为正确的版本读取;但那不起作用。有趣的是,它承认PyQt4并坚持使用它来代替PyQt5。
只是让你们知道,上面的代码示例来自另一台具有PyQt5的笔记本电脑。这两个项目都来自PyDev,并且都有Ubuntu 15.04。有可能我在当前的机器上导入项目会导致PyDev解析所需的库。有没有人有解决方案,为什么PyDev不认识PyQt5?