diff options
Diffstat (limited to 'examples/axcontainer')
-rw-r--r-- | examples/axcontainer/axviewer.py | 83 | ||||
-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 |
5 files changed, 60 insertions, 83 deletions
diff --git a/examples/axcontainer/axviewer.py b/examples/axcontainer/axviewer.py deleted file mode 100644 index 539c31787..000000000 --- a/examples/axcontainer/axviewer.py +++ /dev/null @@ -1,83 +0,0 @@ - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: http://www.qt.io/licensing/ -## -## This file is part of the Qt for Python examples of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:BSD$ -## You may use this file under the terms of the BSD license as follows: -## -## "Redistribution and use in source and binary forms, with or without -## modification, are permitted provided that the following conditions are -## met: -## * Redistributions of source code must retain the above copyright -## notice, this list of conditions and the following disclaimer. -## * Redistributions in binary form must reproduce the above copyright -## notice, this list of conditions and the following disclaimer in -## the documentation and/or other materials provided with the -## distribution. -## * Neither the name of The Qt Company Ltd nor the names of its -## contributors may be used to endorse or promote products derived -## from this software without specific prior written permission. -## -## -## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -## -## $QT_END_LICENSE$ -## -############################################################################# - -"""PySide2 Active Qt Viewer example""" - -import sys -from PySide2.QtAxContainer import QAxSelect, QAxWidget -from PySide2.QtGui import QKeySequence -from PySide2.QtWidgets import (QAction, qApp, QApplication, QDialog, QFileDialog, - QMainWindow, QMenu, QMenuBar, QMessageBox, QToolBar) - -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 + ".") - -if __name__ == '__main__': - app = QApplication(sys.argv) - mainWin = MainWindow() - availableGeometry = app.desktop().availableGeometry(mainWin) - mainWin.resize(availableGeometry.width() / 3, availableGeometry.height() / 2) - mainWin.show() - sys.exit(app.exec_()) 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 |