def __init__(self, interfazdato, cajadisponible): """Caja disponible son los elementos que aparecen a la izquierda en el selector""" #VARIABLES PUBLICAS QWidget.__init__(self, None, "selector", 0) image1 = QPixmap(IMAGE1DATA) image2 = QPixmap(IMAGE2DATA) selectorsimplelayout = QHBoxLayout(self, 11, 6, "WSelectorSimpleLayout") layout2 = QVBoxLayout(None, 0, 6, "layout2") widgetstack1 = QWidgetStack(self, "staaack") widgetstack1.addWidget(cajadisponible) widgetstack1.raiseWidget(cajadisponible) widgetstack1.setSizePolicy(QSizePolicy(\ QSizePolicy.Expanding, QSizePolicy.Expanding, \ 0, 0, widgetstack1.sizePolicy().hasHeightForWidth())) self._cajadisponible = cajadisponible layout2.addWidget(widgetstack1) selectorsimplelayout.addLayout(layout2) layout1 = QVBoxLayout(None, 0, 6, "layout1") self.__pushbutton1 = QPushButton(self, "pushButton1") self.__pushbutton1.setMaximumSize(QSize(30, 30)) self.__pushbutton1.setPixmap(image1) layout1.addWidget(self.__pushbutton1) spacer1 = QSpacerItem(30, 122, QSizePolicy.Minimum, QSizePolicy.Expanding) layout1.addItem(spacer1) self.__pushbutton2 = QPushButton(self,"pushButton2") self.__pushbutton2.setMaximumSize(QSize(30, 30)) self.__pushbutton2.setPixmap(image2) self.__pushbutton2.setAccel("Del") layout1.addWidget(self.__pushbutton2) selectorsimplelayout.addLayout(layout1) layout3 = QVBoxLayout(None, 0, 6, "layout3") self._textlabel2 = QLabel(self, "textLabel2") layout3.addWidget(self._textlabel2) self._cajaseleccion = QListBox(self,"cajaseleccion") self._cajaseleccion.setMinimumSize(QSize(0, 60)) layout3.addWidget(self._cajaseleccion) selectorsimplelayout.addLayout(layout3) self._cajaseleccion.setSizePolicy(QSizePolicy(\ QSizePolicy.Expanding,QSizePolicy.Expanding, 0, 0, \ self._cajaseleccion.sizePolicy().hasHeightForWidth())) self.setCaption("Form1") self._textlabel2.setText(u"Selección") self.resize(QSize(294, 240).expandedTo(self.minimumSizeHint())) self.clearWState(Qt.WState_Polished) self.__conexiones() #Miembros !qt self.seleccion = [] self._dato = interfazdato
def showEvent(self, event): """Redefine el showEvent de qt""" self.myUpdate() QListBox.showEvent(self, event)
class SelectorElementosEstudio(QWidget): """Clase padre de los selectores. Los selectores permiten elegir una o más variables, o una variable y un valor de esa variable, etc Las clases hijas deben suministrar cajadisponible,addelemento SelectorElementosEstudios tiene siempre una caja donde aparecen los resultados a la derecha, y provee los botones de adicion y sustracción de elementos """ def __init__(self, interfazdato, cajadisponible): """Caja disponible son los elementos que aparecen a la izquierda en el selector""" #VARIABLES PUBLICAS QWidget.__init__(self, None, "selector", 0) image1 = QPixmap(IMAGE1DATA) image2 = QPixmap(IMAGE2DATA) selectorsimplelayout = QHBoxLayout(self, 11, 6, "WSelectorSimpleLayout") layout2 = QVBoxLayout(None, 0, 6, "layout2") widgetstack1 = QWidgetStack(self, "staaack") widgetstack1.addWidget(cajadisponible) widgetstack1.raiseWidget(cajadisponible) widgetstack1.setSizePolicy(QSizePolicy(\ QSizePolicy.Expanding, QSizePolicy.Expanding, \ 0, 0, widgetstack1.sizePolicy().hasHeightForWidth())) self._cajadisponible = cajadisponible layout2.addWidget(widgetstack1) selectorsimplelayout.addLayout(layout2) layout1 = QVBoxLayout(None, 0, 6, "layout1") self.__pushbutton1 = QPushButton(self, "pushButton1") self.__pushbutton1.setMaximumSize(QSize(30, 30)) self.__pushbutton1.setPixmap(image1) layout1.addWidget(self.__pushbutton1) spacer1 = QSpacerItem(30, 122, QSizePolicy.Minimum, QSizePolicy.Expanding) layout1.addItem(spacer1) self.__pushbutton2 = QPushButton(self,"pushButton2") self.__pushbutton2.setMaximumSize(QSize(30, 30)) self.__pushbutton2.setPixmap(image2) self.__pushbutton2.setAccel("Del") layout1.addWidget(self.__pushbutton2) selectorsimplelayout.addLayout(layout1) layout3 = QVBoxLayout(None, 0, 6, "layout3") self._textlabel2 = QLabel(self, "textLabel2") layout3.addWidget(self._textlabel2) self._cajaseleccion = QListBox(self,"cajaseleccion") self._cajaseleccion.setMinimumSize(QSize(0, 60)) layout3.addWidget(self._cajaseleccion) selectorsimplelayout.addLayout(layout3) self._cajaseleccion.setSizePolicy(QSizePolicy(\ QSizePolicy.Expanding,QSizePolicy.Expanding, 0, 0, \ self._cajaseleccion.sizePolicy().hasHeightForWidth())) self.setCaption("Form1") self._textlabel2.setText(u"Selección") self.resize(QSize(294, 240).expandedTo(self.minimumSizeHint())) self.clearWState(Qt.WState_Polished) self.__conexiones() #Miembros !qt self.seleccion = [] self._dato = interfazdato def showEvent(self, event): """Redefinicion showEvent""" self._actualizar_cajas() QWidget.showEvent(self, event) def _actualizar_cajas(self): """Actualiza el contenido de las cajas""" self._cajaseleccion.clear() for valor in self.seleccion: self._cajaseleccion.insertItem(str(valor)) self._actualizar_caja_disponible() def __conexiones(self): """Establece las conexiones entre elementos""" self.connect(self.__pushbutton1, SIGNAL("clicked()"), self._anadir_elemento) self.connect(self.__pushbutton2, SIGNAL("clicked()"), self.__borrar_elemento) def __borrar_elemento(self): """Borra el elemento seleccionado en lacaja de seleccion""" if self._cajaseleccion.currentText(): del self.seleccion[self._cajaseleccion.currentItem()] self._actualizar_cajas()
def __init__(self, parent, lista = None): WidgetLista.__init__(self, lista) QListBox.__init__(self, parent, "listBoxlista")