FreeCAD

Форк
0
99 строк · 2.6 Кб
1
"""
2
Examples for customizing the FreeCAD application with PySide facilities.
3
(c) 2007 Werner Mayer LGPL
4
"""
5

6
__author__ = "Werner Mayer <werner.wm.mayer@gmx.de>"
7

8
from PySide import QtCore,QtGui
9
import FreeCADGui, __main__
10

11
class MainWindow:
12
	def __init__(self):
13
		self.app = QtGui.qApp
14
		self.mw = FreeCADGui.getMainWindow()
15
		self.dock = {}
16

17
	def setWindowTitle(self, name):
18
		self.mw.setWindowTitle(name)
19

20
	def addCalendar(self):
21
		d = QtGui.QDockWidget()
22
		d.setWindowTitle("Calendar")
23
		c = QtGui.QCalendarWidget()
24
		d.setWidget(c)
25
		self.mw.addDockWidget(QtCore.Qt.RightDockWidgetArea,d)
26
		self.dock[d] = c
27

28
	def information(self, title, text):
29
		QtGui.QMessageBox.information(self.mw, title, text)
30

31
	def warning(self, title, text):
32
		QtGui.QMessageBox.warning(self.mw, title, text)
33

34
	def critical(self, title, text):
35
		QtGui.QMessageBox.critical(self.mw, title, text)
36

37
	def question(self, title, text):
38
		QtGui.QMessageBox.question(self.mw, title, text)
39

40
	def aboutQt(self):
41
		QtGui.QMessageBox.aboutQt(self.mw, self.mw.tr("About Qt"))
42

43

44
class PythonQtWorkbench (__main__.Workbench):
45
	"Python Qt workbench object"
46
	Icon = "python"
47
	MenuText = "PySide sandbox"
48
	ToolTip = "Python Qt workbench"
49

50
	def __init__(self):
51
		self.mw = FreeCADGui.getMainWindow()
52
		self.dock = {}
53
		self.item = []
54

55
	def information(self):
56
		QtGui.QMessageBox.information(self.mw, "Info", "This is an information")
57

58
	def warning(self):
59
		QtGui.QMessageBox.warning(self.mw, "Warning", "This is a warning")
60

61
	def critical(self):
62
		QtGui.QMessageBox.critical(self.mw, "Error", "This is an error")
63

64
	def Initialize(self):
65
		self.menu = QtGui.QMenu()
66
		self.menu.setTitle("Python Qt")
67
		self.item.append(self.menu.addAction("Test 1"))
68
		self.item.append(self.menu.addAction("Test 2"))
69
		self.item.append(self.menu.addAction("Test 3"))
70

71
		QtCore.QObject.connect(self.item[0], QtCore.SIGNAL("triggered()"), self.information)
72
		QtCore.QObject.connect(self.item[1], QtCore.SIGNAL("triggered()"), self.warning)
73
		QtCore.QObject.connect(self.item[2], QtCore.SIGNAL("triggered()"), self.critical)
74

75
	def Activated(self):
76
		self.__title__ = self.mw.windowTitle()
77
		self.mw.setWindowTitle("FreeCAD -- PythonQt")
78

79
		d = QtGui.QDockWidget()
80
		d.setWindowTitle("Calendar")
81
		c = QtGui.QCalendarWidget()
82
		d.setWidget(c)
83
		self.mw.addDockWidget(QtCore.Qt.RightDockWidgetArea,d)
84
		self.dock[d] = c
85

86
		bar = self.mw.menuBar()
87
		a=bar.actions()
88
		for i in a:
89
			if i.objectName() == "&Windows":
90
				break
91
		bar.insertMenu(i, self.menu)
92
		self.menu.setTitle("Python Qt")
93
		self.menu.menuAction().setVisible(True)
94

95
	def Deactivated(self):
96
		self.mw.setWindowTitle(self.__title__)
97
		self.dock.clear()
98

99
FreeCADGui.addWorkbench(PythonQtWorkbench)
100

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.