首页 > 解决方案 > 如何修复此错误:PyQt5.QtCore 模块无法向 sip 模块注册

问题描述

我正在尝试使用我的投资公司 (kiwoom) 的 API。有一个关于如何使用 API 的说明,所以我只是在复制它。但是以下代码不断给我一条错误消息:

the PyQt5.QtCore module failed to register with the sip module

我查了一下,好像和sip和pyqt5版本的兼容性有关。如果您需要,我的 SIP 版本是 4.19.19,PyQt 版本是 5.9.2。但这只是我的猜测。任何帮助,将不胜感激。

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QAxContainer import *

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("PyStock")
        self.setGeometry(300, 300, 300, 150)

        self.kiwoom = QAxWidget("KHOPENAPI.KHOpenAPICtrl.1")

        btn1 = QPushButton("Login", self)
        btn1.move(20, 20)
        btn1.clicked.connect(self.btn1_clicked)

        btn2 = QPushButton("Check state", self)
        btn2.move(20, 70)
        btn2.clicked.connect(self.btn2_clicked)

    def btn1_clicked(self):
        ret = self.kiwoom.dynamicCall("CommConnect()")

    def btn2_clicked(self):
        if self.kiwoom.dynamicCall("GetConnectState()") == 0:
            self.statusBar().showMessage("Not connected")
        else:
            self.statusBar().showMessage("Connected")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    myWindow = MyWindow()
    myWindow.show()
    app.exec_()

标签: pythonpyqtanacondapyqt5python-sip

解决方案


推荐阅读