class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() toolBar = QToolBar() self.addToolBar(toolBar) fileMenu = self.menuBar().addMenu("&File") loadAction = QAction("Load...", self, shortcut="Ctrl+L", triggered=self.load) fileMenu.addAction(loadAction) toolBar.addAction(loadAction) exitAction = QAction("E&xit", self, shortcut="Ctrl+Q", triggered=self.close) fileMenu.addAction(exitAction) aboutMenu = self.menuBar().addMenu("&About") aboutQtAct = QAction("About &Qt", self, triggered=qApp.aboutQt) aboutMenu.addAction(aboutQtAct) self.axWidget = QAxWidget() self.setCentralWidget(self.axWidget) def load(self): axSelect = QAxSelect(self) if axSelect.exec_() == QDialog.Accepted: clsid = axSelect.clsid() if not self.axWidget.setControl(clsid): QMessageBox.warning(self, "AxViewer", "Unable to load " + clsid + ".")
class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() toolBar = QToolBar() self.addToolBar(toolBar) fileMenu = self.menuBar().addMenu("&File") loadAction = QAction("Load...", self, shortcut="Ctrl+L", triggered=self.load) fileMenu.addAction(loadAction) toolBar.addAction(loadAction) exitAction = QAction("E&xit", self, shortcut="Ctrl+Q", triggered=self.close) fileMenu.addAction(exitAction) aboutMenu = self.menuBar().addMenu("&About") aboutQtAct = QAction("About &Qt", self, triggered=qApp.aboutQt) aboutMenu.addAction(aboutQtAct) self.axWidget = QAxWidget() self.setCentralWidget(self.axWidget) def load(self): axSelect = QAxSelect(self) if axSelect.exec_() == QDialog.Accepted: clsid = axSelect.clsid() if not self.axWidget.setControl(clsid): QMessageBox.warning(self, "AxViewer", "Unable to load " + clsid + ".")
def __init__(self): super(MainWindow, self).__init__() toolBar = QToolBar() self.addToolBar(toolBar) fileMenu = self.menuBar().addMenu("&File") loadAction = QAction("Load...", self, shortcut="Ctrl+L", triggered=self.load) fileMenu.addAction(loadAction) toolBar.addAction(loadAction) exitAction = QAction("E&xit", self, shortcut="Ctrl+Q", triggered=self.close) fileMenu.addAction(exitAction) aboutMenu = self.menuBar().addMenu("&About") aboutQtAct = QAction("About &Qt", self, triggered=qApp.aboutQt) aboutMenu.addAction(aboutQtAct) self.axWidget = QAxWidget() self.setCentralWidget(self.axWidget)
def __init__(self): super(MainWindow, self).__init__() toolBar = QToolBar() self.addToolBar(toolBar) fileMenu = self.menuBar().addMenu("&File") loadAction = QAction("Load...", self, shortcut="Ctrl+L", triggered=self.load) fileMenu.addAction(loadAction) toolBar.addAction(loadAction) exitAction = QAction("E&xit", self, shortcut="Ctrl+Q", triggered=self.close) fileMenu.addAction(exitAction) aboutMenu = self.menuBar().addMenu("&About") aboutQtAct = QAction("About &Qt", self, triggered=qApp.aboutQt) aboutMenu.addAction(aboutQtAct) self.axWidget = QAxWidget() self.setCentralWidget(self.axWidget)
def __init__(self, *args, **kwargs): super_args = args super_kwargs = kwargs clsid_or_progid = self.CLSID if len(args) > 0 and isinstance(args[0], str): super_args = args[1:] clsid_or_progid = args[0] elif self.CONTROL_NAME_KWARG_KEY in kwargs: super_kwargs = { k: v for k, v in kwargs if k != self.CONTROL_NAME_KWARG_KEY } clsid_or_progid = kwargs[self.CONTROL_NAME_KWARG_KEY] super().__init__(*super_args, **super_kwargs) self._ax = QAxWidget(clsid_or_progid, self) self._ax_wrapped = KiwoomOpenApiControlWrapper(self) self._methods = {} self._signals = {} self._event_logger = KiwoomOpenApiLoggingEventHandler(self) for method_name in self.METHOD_NAMES: dynamic_callable = KiwoomOpenApiDynamicCallable( self._ax, method_name) self._methods[method_name] = dynamic_callable for event_name in self.EVENT_NAMES: signal_connector = KiwoomOpenApiSignalConnector(event_name) if hasattr(self._event_logger, event_name): signal_connector.connect( getattr(self._event_logger, event_name)) self._signals[event_name] = signal_connector signal_connector.connect_to(self._ax) self._ax.exception.connect(self._onException)
import sys from PySide2.QtWidgets import QApplication from PySide2.QtAxContainer import QAxWidget app = QApplication(sys.argv) control = QAxWidget('{A1574A0D-6BFA-4BD7-9020-DED88711818D}') print(control.dynamicCall('GetAPIModulePath()'))
import os import PySide2 QT_QPA_PLATFORM_PLUGIN_PATH = os.path.join(os.path.dirname(PySide2.__file__), "plugins", "platforms") os.environ["QT_QPA_PLATFORM_PLUGIN_PATH"] = QT_QPA_PLATFORM_PLUGIN_PATH import sys from PySide2.QtAxContainer import QAxWidget from PySide2.QtCore import SIGNAL, QEventLoop from PySide2.QtWidgets import QApplication app = QApplication(sys.argv) control = QAxWidget("{A1574A0D-6BFA-4BD7-9020-DED88711818D}") loop = QEventLoop() def comm_connect(): err = control.dynamicCall("CommConnect()") if err < 0: raise ValueError(err) loop.exec_() on_event_connect_signal = SIGNAL("OnEventConnect(int)") def on_event_connect(errcode):
import os import PySide2 QT_QPA_PLATFORM_PLUGIN_PATH = os.path.join(os.path.dirname(PySide2.__file__), "plugins", "platforms") os.environ["QT_QPA_PLATFORM_PLUGIN_PATH"] = QT_QPA_PLATFORM_PLUGIN_PATH import sys from PySide2.QtAxContainer import QAxWidget from PySide2.QtWidgets import QApplication app = QApplication(sys.argv) control = QAxWidget("{A1574A0D-6BFA-4BD7-9020-DED88711818D}") APIModulePath = control.dynamicCall("GetAPIModulePath()") print(APIModulePath)