Я пытаюсь использовать 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_()