Как исправить эту ошибку: модуль PyQt5.QtCore не смог зарегистрироваться в модуле sip - PullRequest
0 голосов
/ 10 февраля 2020

Я пытаюсь использовать API моей инвестиционной компании (kiwoom). Существует инструкция о том, как использовать 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_()
...