diff options
Diffstat (limited to 'examples/axcontainer/axviewer')
-rw-r--r-- | examples/axcontainer/axviewer/axviewer.py | 48 | ||||
-rw-r--r-- | examples/axcontainer/axviewer/axviewer.pyproject | 3 | ||||
-rw-r--r-- | examples/axcontainer/axviewer/doc/axviewer.png | bin | 0 -> 16158 bytes | |||
-rw-r--r-- | examples/axcontainer/axviewer/doc/axviewer.rst | 9 |
4 files changed, 60 insertions, 0 deletions
diff --git a/examples/axcontainer/axviewer/axviewer.py b/examples/axcontainer/axviewer/axviewer.py new file mode 100644 index 000000000..a591b1689 --- /dev/null +++ b/examples/axcontainer/axviewer/axviewer.py @@ -0,0 +1,48 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause +from __future__ import annotations + +"""PySide6 Active Qt Viewer example""" + +import sys +from PySide6.QtAxContainer import QAxSelect, QAxWidget +from PySide6.QtGui import QAction +from PySide6.QtWidgets import (QApplication, QDialog, + QMainWindow, QMessageBox, QToolBar) + + +class MainWindow(QMainWindow): + + def __init__(self): + super().__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) # noqa: F821 + 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", f"Unable to load {clsid}.") + + +if __name__ == '__main__': + app = QApplication(sys.argv) + mainWin = MainWindow() + availableGeometry = mainWin.screen().availableGeometry() + mainWin.resize(availableGeometry.width() / 3, availableGeometry.height() / 2) + mainWin.show() + sys.exit(app.exec()) diff --git a/examples/axcontainer/axviewer/axviewer.pyproject b/examples/axcontainer/axviewer/axviewer.pyproject new file mode 100644 index 000000000..b054d6f18 --- /dev/null +++ b/examples/axcontainer/axviewer/axviewer.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["axviewer.py"] +} diff --git a/examples/axcontainer/axviewer/doc/axviewer.png b/examples/axcontainer/axviewer/doc/axviewer.png Binary files differnew file mode 100644 index 000000000..7ce6ad8a4 --- /dev/null +++ b/examples/axcontainer/axviewer/doc/axviewer.png diff --git a/examples/axcontainer/axviewer/doc/axviewer.rst b/examples/axcontainer/axviewer/doc/axviewer.rst new file mode 100644 index 000000000..51f50426d --- /dev/null +++ b/examples/axcontainer/axviewer/doc/axviewer.rst @@ -0,0 +1,9 @@ +Ax Viewer Example +================= + +A simple example to use QAxWidget and access all the +available components. + +.. image:: axviewer.png + :width: 400 + :alt: Ax Viewer Screenshot |