在pycharm中pyqt5 调用QML文件不能正常显示的问题

问题:

如下的代码,在pycharm中不能正常显示,但是在cmd下可以正常显示。唯一的区别就是两者的python解析器不一致。代码如下;

python代码

#!/usr/bin/env python
'''
(1)QML显式的调用Python函数
定义一个类,并继承QtCore.QObject对象,并使用@修饰符修饰pyqtSlot
创建rootContext对象,并使用setContextProperty(string, object)注册对象,
这样在QML中就可以调用这个函数了。
这个例子运行后,如果点击鼠标的话,会在控制台打印字符串。
'''
from PyQt5.QtCore import QUrl, QObject, pyqtSlot
from PyQt5.QtGui import QGuiApplication
from PyQt5.QtQuick import QQuickView


class MyClass(QObject):
    @pyqtSlot(str)  # 输入参数为str类型
    def outputString(self, string):
        print(string)


if __name__ == '__main__':
    app = QGuiApplication([])

    path = 'test.qml'  # 加载的QML文件
    con = MyClass()

    view = QQuickView()
    view.engine().quit.connect(app.quit)
    view.setSource(QUrl(path))

    context = view.rootContext()
    context.setContextProperty("con", con)

    view.show()
    app.exec_()

QML代码

import QtQuick 2.4

Rectangle {
    width: 320; height: 240
    color: "lightblue"
    Text {
        id: txt
        text: "Clicked me"
        font.pixelSize: 20
        anchors.centerIn: parent
    }
    MouseArea {
        id: mouse_area
        anchors.fill: parent  // 有效区域
        onClicked: {
           con.outputString("Hello, Python3") //QML显式的调用Python函数
        }
    }
}

解决方法:
把项目的解析器换成自己本地安装的解析器。
应该是pycharm中env中的python和本地中的python版本有区别。
但是通过查看版本也没有区别。具体原因还没搞明白。
在pycharm中pyqt5 调用QML文件不能正常显示的问题