def unregisterWidget (self, nameOrWidget):
		if isinstance (nameOrWidget, str):
			QRearrangeableLayout.removeWidget (self.widgets [nameOrWidget])
			del self.widgets [nameOrWidget]
			return
		elif isinstance (nameOrWidget, QWidget):
			name = [n for n, w in self.widgets.iteritems () if v == nameOrWidget][0]
			self.unregisterWidget (name)
			return
		raise KeyError ("No such widget: " + repr (nameOrWidget))