1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
"""
This packages contains the various qt designer plugins
"""
from pyqode.qt import QtDesigner
class WidgetPlugin(QtDesigner.QPyDesignerCustomWidgetPlugin):
"""
Base class for writing a designer plugins.
To write a plugin, inherit from this class and define implement at least:
- klass()
- objectName()
"""
def __init__(self, parent=None):
super(WidgetPlugin, self).__init__(parent=parent)
self.initialized = False
print(self.name(), self.includeFile(), self.objectName())
def klass(self):
"""
Returns the classname of the widget
"""
raise NotImplementedError()
def initialize(self, form_editor):
self.initialized = True
def isInitialized(self):
return self.initialized
def isContainer(self):
return False
def icon(self):
return None
def domXml(self):
return ('<widget class="%s" name="%s">\n</widget>\n' %
(self.name(), self.objectName()))
def group(self):
return 'pyQode'
def objectName(self):
return self.name()
def includeFile(self):
return self.klass().__module__
def name(self):
return self.klass().__name__
def toolTip(self):
return ''
def whatsThis(self):
return ''
def createWidget(self, parent):
return self.klass()(parent)
|