def __init__(self, parent=None):
        super(edit_limitescomite, self).__init__()
        self.ui = Ui_Form()
        self.ui.setupUi(self)
        self.connect_signals()
        self.ui.qspinboxqtd.setMaximum(9999999)

        #seleciona todos os comites
        comites = select('comite', ['nome'])

        """verificacao
        """
        if not comites:
            showdialog('Alerta', 'Nenhum ComitĂȘ cadastrado')
        tipos = select('tipo_credencial', ['sigla'])
        if not tipos:
            showdialog('Alerta', 'Nenhum Tipo de Credencial cadastrado')
        if not tipos or not comites:
            return

        cmd = "SELECT quantidade FROM limites_comite WHERE comite = '" + comites[0][0] + """' AND
        tipo_credencial = '""" + tipos[0][0] + "';"
        qtd = executa_select(cmd)[0][0]
        self.ui.qspinboxqtd.setValue(qtd)
        self.eval_comcoboxtipo(tipos)
        self.eval_comcoboxcomite(comites)
class edit_limitescomite(QtWidgets.QWidget):
    def __init__(self, parent=None):
        super(edit_limitescomite, self).__init__()
        self.ui = Ui_Form()
        self.ui.setupUi(self)
        self.connect_signals()
        self.ui.qspinboxqtd.setMaximum(9999999)

        #seleciona todos os comites
        comites = select('comite', ['nome'])

        """verificacao
        """
        if not comites:
            showdialog('Alerta', 'Nenhum ComitĂȘ cadastrado')
        tipos = select('tipo_credencial', ['sigla'])
        if not tipos:
            showdialog('Alerta', 'Nenhum Tipo de Credencial cadastrado')
        if not tipos or not comites:
            return

        cmd = "SELECT quantidade FROM limites_comite WHERE comite = '" + comites[0][0] + """' AND
        tipo_credencial = '""" + tipos[0][0] + "';"
        qtd = executa_select(cmd)[0][0]
        self.ui.qspinboxqtd.setValue(qtd)
        self.eval_comcoboxtipo(tipos)
        self.eval_comcoboxcomite(comites)

    def eval_comcoboxcomite(self, lista):
        for item in lista:
            self.ui.qcomboboxcomite.addItem(str(item[0]))

    def eval_comcoboxtipo(self, lista):
        for item in lista:
            self.ui.qcomboboxtipocred.addItem(str(item[0]))

    def connect_signals(self):
        self.ui.updatebutton.clicked.connect(self.updatebutton_click)
        self.ui.qcomboboxcomite.currentIndexChanged.connect(self.changes)
        self.ui.qcomboboxtipocred.currentIndexChanged.connect(self.changes)

    def updatebutton_click(self):
        """trata o evento do click, aqui  no caso edita os limites do tipo de credencial selecionado para um certo OI
        """
        comite = self.ui.qcomboboxcomite.currentText()
        tipo = self.ui.qcomboboxtipocred.currentText()
        qtd = self.ui.qspinboxqtd.value()
        cmd = "UPDATE limites_comite SET quantidade = " + str(qtd)
        cmd += " WHERE comite = '" + comite + "' "
        cmd += "AND tipo_credencial ='" + tipo + "';"
        executa_cmd(cmd)

    def changes(self):
        """seleciona as quantidades disponiveis de um comite, relacionadas a um tipo de credencial
        """
        comite = self.ui.qcomboboxcomite.currentText()
        tipo = self.ui.qcomboboxtipocred.currentText()
        cmd = "SELECT quantidade FROM limites_comite WHERE comite = '" + comite + """' AND
        tipo_credencial = '""" + tipo + "'"
        try:
            qtd = executa_select(cmd)[0][0]
            self.ui.qspinboxqtd.setValue(qtd)
        except(Exception):
            pass