Download src/Mod/TemplatePyMod/PythonQt.py from AbdulElahGwaith/FreeCAD: direct link, hf CLI and curl.
- Browser
- Download file 2.75 kB
-
https://huggingface.co/AbdulElahGwaith/FreeCAD/resolve/main/src/Mod/TemplatePyMod/PythonQt.py
- Command line
-
hf download hf://AbdulElahGwaith/FreeCAD/src/Mod/TemplatePyMod/PythonQt.py
-
curl -L -o PythonQt.py https://huggingface.co/AbdulElahGwaith/FreeCAD/resolve/main/src/Mod/TemplatePyMod/PythonQt.py
2.75 kB
| # SPDX-License-Identifier: LGPL-2.1-or-later | |
| """ | |
| Examples for customizing the FreeCAD application with PySide facilities. | |
| (c) 2007 Werner Mayer LGPL | |
| """ | |
| __author__ = "Werner Mayer <werner.wm.mayer@gmx.de>" | |
| from PySide import QtCore,QtGui | |
| import FreeCADGui, __main__ | |
| class MainWindow: | |
| def __init__(self): | |
| self.app = QtGui.qApp | |
| self.mw = FreeCADGui.getMainWindow() | |
| self.dock = {} | |
| def setWindowTitle(self, name): | |
| self.mw.setWindowTitle(name) | |
| def addCalendar(self): | |
| d = QtGui.QDockWidget() | |
| d.setWindowTitle("Calendar") | |
| c = QtGui.QCalendarWidget() | |
| d.setWidget(c) | |
| self.mw.addDockWidget(QtCore.Qt.RightDockWidgetArea,d) | |
| self.dock[d] = c | |
| def information(self, title, text): | |
| QtGui.QMessageBox.information(self.mw, title, text) | |
| def warning(self, title, text): | |
| QtGui.QMessageBox.warning(self.mw, title, text) | |
| def critical(self, title, text): | |
| QtGui.QMessageBox.critical(self.mw, title, text) | |
| def question(self, title, text): | |
| QtGui.QMessageBox.question(self.mw, title, text) | |
| def aboutQt(self): | |
| QtGui.QMessageBox.aboutQt(self.mw, self.mw.tr("About Qt")) | |
| class PythonQtWorkbench (__main__.Workbench): | |
| "Python Qt workbench object" | |
| Icon = "python" | |
| MenuText = "PySide sandbox" | |
| ToolTip = "Python Qt workbench" | |
| def __init__(self): | |
| self.mw = FreeCADGui.getMainWindow() | |
| self.dock = {} | |
| self.item = [] | |
| def information(self): | |
| QtGui.QMessageBox.information(self.mw, "Info", "This is an information") | |
| def warning(self): | |
| QtGui.QMessageBox.warning(self.mw, "Warning", "This is a warning") | |
| def critical(self): | |
| QtGui.QMessageBox.critical(self.mw, "Error", "This is an error") | |
| def Initialize(self): | |
| self.menu = QtGui.QMenu() | |
| self.menu.setTitle("Python Qt") | |
| self.item.append(self.menu.addAction("Test 1")) | |
| self.item.append(self.menu.addAction("Test 2")) | |
| self.item.append(self.menu.addAction("Test 3")) | |
| QtCore.QObject.connect(self.item[0], QtCore.SIGNAL("triggered()"), self.information) | |
| QtCore.QObject.connect(self.item[1], QtCore.SIGNAL("triggered()"), self.warning) | |
| QtCore.QObject.connect(self.item[2], QtCore.SIGNAL("triggered()"), self.critical) | |
| def Activated(self): | |
| self.__title__ = self.mw.windowTitle() | |
| self.mw.setWindowTitle("FreeCAD -- PythonQt") | |
| d = QtGui.QDockWidget() | |
| d.setWindowTitle("Calendar") | |
| c = QtGui.QCalendarWidget() | |
| d.setWidget(c) | |
| self.mw.addDockWidget(QtCore.Qt.RightDockWidgetArea,d) | |
| self.dock[d] = c | |
| bar = self.mw.menuBar() | |
| a=bar.actions() | |
| for i in a: | |
| if i.objectName() == "&Windows": | |
| break | |
| bar.insertMenu(i, self.menu) | |
| self.menu.setTitle("Python Qt") | |
| self.menu.menuAction().setVisible(True) | |
| def Deactivated(self): | |
| self.mw.setWindowTitle(self.__title__) | |
| self.dock.clear() | |
| FreeCADGui.addWorkbench(PythonQtWorkbench) | |