class SeleccionCOyUC(QWidget): def __init__(self, parent): QWidget.__init__(self, parent) layout = QVBoxLayout(self) label1 = QLabel(''' <h3>Seleccione el concentrador y la UC</h3> <p>Seleccione un concentrador de la lista inferior</p> ''', self) layout.addWidget(label1) self.comboCOs = QComboBoxModelQuery(self) self.comboCOs.setObjectName('comboCOs') query = QSqlQuery(''' SELECT CONCAT(COALESCE(CO.nombre_co, 'CO'), ' ' ,COALESCE(CO.ip_address, 'Sin IP')) `nombre`, id_CO FROM CO''') if not query.size(): log.msg("No existen concentradores") raise Exception('No existen concentradores') log.err("Error: %s" % query.lastError().databaseText()) model = QSqlQueryModel(self.comboCOs) model.setQuery(query) self.comboCOs.setModel(model) layout.addWidget(self.comboCOs) label2 = QLabel(''' <p>Seleccione la UC de la lista inferior</p> ''', self) layout.addWidget(label2) self.comboUCs = QComboBoxModelQuery(self) layout.addWidget(self.comboUCs) self.setLayout(layout) self.connect(self.comboCOs, SIGNAL('currentIndexChanged(int)'), self.update_ucs_for_co) self.update_ucs_for_co() QMetaObject.connectSlotsByName(self) def update_ucs_for_co(self): co_id = self.comboCOs.get_col_value(1) query = QSqlQuery(''' SELECT CONCAT(UC.nombre_uc, '(' ,UC.id_UC,')'), UC.id FROM UC WHERE UC.co_id = %(co_id)d ''' % locals(), qApp.instance().db_con) model = QSqlQueryModel(self.comboUCs) model.setQuery(query) # Deasctivar el siguiente si el CO no tiene UCs self.parent().pushNext.setEnabled( query.size() > 0 ) self.comboUCs.setModel(model) def on_comboCOs_currentIndexChanged(self, index): self.update_ucs_for_co()
def __init__(self, parent): QWidget.__init__(self, parent) layout = QVBoxLayout(self) label1 = QLabel( ''' <h3>Seleccione el concentrador y la UC</h3> <p>Seleccione un concentrador de la lista inferior</p> ''', self) layout.addWidget(label1) self.comboCOs = QComboBoxModelQuery(self) self.comboCOs.setObjectName('comboCOs') query = QSqlQuery(''' SELECT CONCAT(COALESCE(CO.nombre_co, 'CO'), ' ' ,COALESCE(CO.ip_address, 'Sin IP')) `nombre`, id_CO FROM CO''') if not query.size(): log.msg("No existen concentradores") raise Exception('No existen concentradores') log.err("Error: %s" % query.lastError().databaseText()) model = QSqlQueryModel(self.comboCOs) model.setQuery(query) self.comboCOs.setModel(model) layout.addWidget(self.comboCOs) label2 = QLabel( ''' <p>Seleccione la UC de la lista inferior</p> ''', self) layout.addWidget(label2) self.comboUCs = QComboBoxModelQuery(self) layout.addWidget(self.comboUCs) self.setLayout(layout) self.connect(self.comboCOs, SIGNAL('currentIndexChanged(int)'), self.update_ucs_for_co) self.update_ucs_for_co() QMetaObject.connectSlotsByName(self)
def __init__(self, parent): QWidget.__init__(self, parent) layout = QVBoxLayout(self) label1 = QLabel(''' <h3>Seleccione el concentrador y la UC</h3> <p>Seleccione un concentrador de la lista inferior</p> ''', self) layout.addWidget(label1) self.comboCOs = QComboBoxModelQuery(self) self.comboCOs.setObjectName('comboCOs') query = QSqlQuery(''' SELECT CONCAT(COALESCE(CO.nombre_co, 'CO'), ' ' ,COALESCE(CO.ip_address, 'Sin IP')) `nombre`, id_CO FROM CO''') if not query.size(): log.msg("No existen concentradores") raise Exception('No existen concentradores') log.err("Error: %s" % query.lastError().databaseText()) model = QSqlQueryModel(self.comboCOs) model.setQuery(query) self.comboCOs.setModel(model) layout.addWidget(self.comboCOs) label2 = QLabel(''' <p>Seleccione la UC de la lista inferior</p> ''', self) layout.addWidget(label2) self.comboUCs = QComboBoxModelQuery(self) layout.addWidget(self.comboUCs) self.setLayout(layout) self.connect(self.comboCOs, SIGNAL('currentIndexChanged(int)'), self.update_ucs_for_co) self.update_ucs_for_co() QMetaObject.connectSlotsByName(self)
def __init__(self, inicial=None): QDialog.__init__(self) try: self.setWindowTitle(u"Selección de calle") layout = QVBoxLayout(self) layout.addWidget(QLabel('<h3>Seleccione una Calle</h3>')) self.comboCalles = QComboBoxModelQuery() layout.addWidget(self.comboCalles) self.update_model() self.buttonGroup = QDialogButtonBox(self) self.buttonGroup.setOrientation(Qt.Horizontal) self.buttonGroup.setStandardButtons(QDialogButtonBox.Cancel | QDialogButtonBox.Ok) self.connect(self.buttonGroup, SIGNAL("accepted()"), self.accept) self.connect(self.buttonGroup, SIGNAL("rejected()"), self.reject) layout.addWidget(self.buttonGroup) self.setLayout(layout) except Exception, e: print e
class SeleccionCOyUC(QWidget): def __init__(self, parent): QWidget.__init__(self, parent) layout = QVBoxLayout(self) label1 = QLabel( ''' <h3>Seleccione el concentrador y la UC</h3> <p>Seleccione un concentrador de la lista inferior</p> ''', self) layout.addWidget(label1) self.comboCOs = QComboBoxModelQuery(self) self.comboCOs.setObjectName('comboCOs') query = QSqlQuery(''' SELECT CONCAT(COALESCE(CO.nombre_co, 'CO'), ' ' ,COALESCE(CO.ip_address, 'Sin IP')) `nombre`, id_CO FROM CO''') if not query.size(): log.msg("No existen concentradores") raise Exception('No existen concentradores') log.err("Error: %s" % query.lastError().databaseText()) model = QSqlQueryModel(self.comboCOs) model.setQuery(query) self.comboCOs.setModel(model) layout.addWidget(self.comboCOs) label2 = QLabel( ''' <p>Seleccione la UC de la lista inferior</p> ''', self) layout.addWidget(label2) self.comboUCs = QComboBoxModelQuery(self) layout.addWidget(self.comboUCs) self.setLayout(layout) self.connect(self.comboCOs, SIGNAL('currentIndexChanged(int)'), self.update_ucs_for_co) self.update_ucs_for_co() QMetaObject.connectSlotsByName(self) def update_ucs_for_co(self): co_id = self.comboCOs.get_col_value(1) query = QSqlQuery( ''' SELECT CONCAT(UC.nombre_uc, '(' ,UC.id_UC,')'), UC.id FROM UC WHERE UC.co_id = %(co_id)d ''' % locals(), qApp.instance().db_con) model = QSqlQueryModel(self.comboUCs) model.setQuery(query) # Deasctivar el siguiente si el CO no tiene UCs self.parent().pushNext.setEnabled(query.size() > 0) self.comboUCs.setModel(model) def on_comboCOs_currentIndexChanged(self, index): self.update_ucs_for_co()