class MainSli(QMainWindow): def __init__(self): super(MainSli, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # capturar valor *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* valor = self.raiz.vslij1.value() print('valor:',valor) # establecer valor *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.vslij1.setValue(15) # evento de spinbox *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.vslij1.valueChanged.connect(lambda valor: print(valor)) # vertical self.raiz.hslij1.valueChanged.connect(lambda valor: print(valor)) # horizontal # establecer valor minimo *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* "self.raiz.vslij1.setMinimum(12)" # establecer valor maximo *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* "self.raiz.vslij1.setMaximum(999)" # obtener valor (boton) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnj2.clicked.connect(lambda : print(self.raiz.vslij1.value())) # vertical self.raiz.btnj1.clicked.connect(lambda : print(self.raiz.hslij1.value())) # horizontal # establecer valor valor (boton) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnj3.clicked.connect(lambda : self.raiz.vslij1.setValue(randint(1,30)))
class MainRbtn(QMainWindow): def __init__(self): super(MainRbtn, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # cambiar de texto *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.rbtnl1.setText('python 3') # capturar evento puede ser 'clicked' o 'toggled' *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'nota: *funciones en en final del codigo*' self.raiz.rbtnl1.clicked.connect(lambda: self.eventoRadio()) self.raiz.rbtnl2.clicked.connect(lambda: self.eventoRadio()) self.raiz.rbtnl3.clicked.connect(lambda: self.eventoRadio()) # establecer una seleccion (por defecto) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.rbtnl3.setChecked(True) self.eventoRadio() def eventoRadio(self): '''se puede pasar parametro, pero esta es una manera''' if (self.raiz.rbtnl1.isChecked()): print('rbtnl1', self.raiz.rbtnl1.text()) # obtener texto elif (self.raiz.rbtnl2.isChecked()): print('rbtnl2', self.raiz.rbtnl2.text()) # obtener texto else: print('rbtnl3', self.raiz.rbtnl3.text()) # obtener texto
class MainPtext(QMainWindow): def __init__(self): super(MainPtext, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # extraer texto a variable *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* texto = self.raiz.ptexti1.toPlainText() print('texto:', texto) # cambiar de nombre (mediante evento) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btni2.clicked.connect( lambda: self.raiz.ptexti1.setPlainText('Texto')) # agregar texto *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btni1.clicked.connect( lambda: self.raiz.ptexti1.insertPlainText(' Nuevo mundo')) # restablecer *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btni3.clicked.connect( lambda: self.raiz.ptexti1.setPlainText('')) # evento de escritura *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.ptexti1.textChanged.connect( lambda: print(self.raiz.ptexti1.toPlainText()))
class MainListw(QMainWindow): def __init__(self): super(MainListw, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # lista de elementos a usar *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* listado = ['python 3', 'java', 'pealr', 'r', 'c#', 'html5'] # extraer variable str *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btno1.clicked.connect( lambda: self.raiz.listwo1.addItem(f'item_{randint(1,100)}')) # agregar lista de elemtos (en un index) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btno2.clicked.connect( lambda: self.raiz.listwo1.insertItems(0, listado)) # restablecer lista *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btno3.clicked.connect(lambda: self.raiz.listwo1.clear()) # obtener texto e index *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.listwo1.currentTextChanged.connect( lambda texto: print(texto)) self.raiz.listwo1.currentRowChanged.connect(lambda index: print(index)) # eliminar item de la fila *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* ''' para esto deberas agregar un controlador para evitar que los elementos se sigan eliminado con el boton. En este caso no se le agrego, esto solo es para mostrar la funcionalidad. ''' self.raiz.btno4.clicked.connect( lambda: self.raiz.listwo1.takeItem(self.raiz.listwo1.currentRow()))
class MainTbox(QMainWindow): def __init__(self): super(MainTbox, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # botones cambio de titulo page (por index) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnr5.clicked.connect(lambda: self.raiz.tboxr1.setItemText( 0, f"Page 1: {randint(1,100)}")) # botones cambio de pagina *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnr1.clicked.connect( lambda: self.raiz.tboxr1.setCurrentIndex(0)) self.raiz.btnr2.clicked.connect( lambda: self.raiz.tboxr1.setCurrentIndex(1)) self.raiz.btnr3.clicked.connect( lambda: self.raiz.tboxr1.setCurrentIndex(2)) # index de pagina actual *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnr4.clicked.connect( lambda: print(self.raiz.tboxr1.currentIndex())) # evento cambio de pagina *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.tboxr1.currentChanged.connect( lambda index: print(f'se cambio a index: {index}'))
class MainSpin(QMainWindow): def __init__(self): super(MainSpin, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # capturar valor *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* valor = self.raiz.sboxh1.value() print('valor',valor) # establecer valor *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.sboxh1.setValue(15) # evento de spinbox *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.sboxh1.valueChanged.connect(lambda valor: print(valor)) # establecer valor minimo *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* "self.raiz.sboxh1.setMinimum(12)" # establecer valor maximo *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* "self.raiz.sboxh1.setMaximum(999)" # obtener valor mediante boton *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnh1.clicked.connect(lambda : print(self.raiz.sboxh1.value())) # lo mismo sea plica para el "double_spin" *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.dsboxh1.valueChanged.connect(lambda valor: print(valor)) # evento self.raiz.btnh2.clicked.connect(lambda : print(self.raiz.dsboxh1.value())) # valor
class MainTime(QMainWindow): def __init__(self): super(MainTime, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # extraer variable str *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* variabletime = self.raiz.timef1.time().toString("hh:mm AP") print(variabletime) # establecer hora *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.timef1.setTime(QTime.fromString("12:32 PM", "hh:mm AP")) # mandar hora por evento *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.timef1.timeChanged.connect( lambda time: print(time.toString("hh:mm AP"))) # hora maximo y minimo *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.timef1.setMinimumTime(QTime.fromString("06:00 PM", "hh:mm AP"))' 'self.raiz.timef1.setMaximumTime(QTime.fromString("10:30 PM", "hh:mm AP"))' # establecr hora maxima (hora actual) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.timef1.setMaximumTime(QTime.currentTime())' # establecer rango de hora *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* """ hora_minima = QTime.fromString("12:00 PM", "hh:mm AP") hora_maxima = QTime.fromString("12:50 PM", "hh:mm AP") self.raiz.timef1.setTimeRange(hora_minima, hora_maxima) """ # obtener hora por boton *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnf1.clicked.connect( lambda: print(self.raiz.timef1.time().toString("hh:mm AP")))
class MainDi(QMainWindow): def __init__(self): super(MainDi, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # capturar valor *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* valor = self.raiz.dialk1.value() print('valor', valor) # establecer valor *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.dialk1.setValue(15) # establecer valor minimo *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* "self.raiz.dialk1.setMinimum(12)" # establecer valor maximo *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* "self.raiz.dialk1.setMaximum(999)" # evento cambio de valor *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.dialk1.valueChanged.connect(lambda valor: print(valor)) # obtener valor (boton) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnk1.clicked.connect( lambda: print(self.raiz.dialk1.value())) # establecer valor (boton) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnk2.clicked.connect(lambda: self.raiz.dialk1.setValue(50))
class MainDatime(QMainWindow): def __init__(self): super(MainDatime, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # extraer variable str *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* variablefecha = self.raiz.datimeg1.date().toString("dd/MM/yyyy") # fecha variablehora = self.raiz.datimeg1.time().toString("hh:mm AP") # hora print('variablefecha:',variablefecha,' variablehora:',variablehora) # establecer fecha y hora *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.datimeg1.setDate(QDate.fromString( "08/12/2020", "dd/MM/yyyy" )) # fecha self.raiz.datimeg1.setTime(QTime.fromString( "10:31 AM", "hh:mm AP" )) # hora # establecer fecha/hora minima *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.datimeg1.setMinimumDate(QDate.fromString("08/11/2020", "dd/MM/yyyy" ))' 'self.raiz.datimeg1.setMinimumTime(QTime.fromString("06:00 PM", "hh:mm AP"))' # establecr fecha/hora maxima *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.datimeg1.setMaximumDate(QDate.fromString("20/12/2020", "dd/MM/yyyy" ))' 'self.raiz.datimeg1.setMaximumTime(QTime.fromString("10:30 PM", "hh:mm AP"))' # establecr fecha/maxima maxima (fecha/hora actual) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.datimeg1.setMaximumDate(QDate.currentDate())' 'self.raiz.datimeg1.setMaximumTime(QTime.currentTime())' # establecer rango de ... *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* # hora ''' hora_minima = QTime.fromString("12:00 PM", "hh:mm AP") hora_maxima = QTime.fromString("12:50 PM", "hh:mm AP") self.raiz.datimeg1.setTimeRange(hora_minima, hora_maxima) ''' # fecha ''' fecha_minima = QDate.fromString("05/11/2020", "dd/MM/yyyy" ) fecha_maxima = QDate.fromString("15/12/2020", "dd/MM/yyyy" ) self.raiz.datimeg1.setDateRange(fecha_minima, fecha_maxima) ''' # evento de cambio de... *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.datimeg1.dateChanged.connect(lambda date: print(date.toString("dd/MM/yyyy"))) # fecha self.raiz.datimeg1.timeChanged.connect(lambda time: print(time.toString("hh:mm AP"))) # hora self.raiz.datimeg1.dateTimeChanged.connect(lambda datetime: print(datetime.toString("dd/MM/yyyy hh:mm AP"))) # fecha-hora # obtener valor de... *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btng1.clicked.connect(lambda : print(self.raiz.datimeg1.date().toString("dd/MM/yyyy"))) # fecha self.raiz.btng2.clicked.connect(lambda : print(self.raiz.datimeg1.time().toString("hh:mm AP"))) # hora self.raiz.btng3.clicked.connect(lambda : print(self.raiz.datimeg1.dateTime().toString("dd/MM/yyyy hh:mm AP"))) # fecha-hora
class MainBtn(QMainWindow): def __init__(self): super(MainBtn, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # evento clic *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btna2.clicked.connect(lambda : print(f'Print {randint(1,100)}')) # cambiar de nombre (mediante evento) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btna1.clicked.connect(lambda : self.raiz.btna1.setText(f'Boton {randint(1,100)}'))
class MainLbl(QMainWindow): def __init__(self): super(MainLbl, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # extraer texto *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* texto = self.raiz.lblw1.text() print('texto', texto) # cambiar texto *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnw1.clicked.connect( lambda: self.raiz.lblw1.setText(f'Texto muestra {randint(1,100)}'))
class MainCbox(QMainWindow): def __init__(self): super(MainCbox, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # lista de elemento a usar *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* lista_elementos = ['datos', 'gta iii', 'python 3', 'java'] # establecer item por index *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.cboxc2.setCurrentIndex(0) # contar cuantos elementos tiene el combobox *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* print('Cantidad de elementos cbox1:', self.raiz.cboxc1.count()) # agregar lista de elemtos (en un index) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnc1.clicked.connect( lambda: self.raiz.cboxc2.insertItems(0, lista_elementos)) # agregar solamente un elemento *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnc2.clicked.connect( lambda: self.raiz.cboxc2.addItem(f'texto_{randint(1,100)}')) # restablecer combobox *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnc3.clicked.connect(lambda: self.raiz.cboxc2.clear()) # remover item por index *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnc4.clicked.connect(lambda: self.raiz.cboxc2.removeItem(0)) # obtener texto e index *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.cboxc1.currentTextChanged.connect( lambda texto: print('texto:', texto)) self.raiz.cboxc1.currentIndexChanged.connect( lambda index: print('index:', index)) # get item evento *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.cboxc3.addItem('Python', 'Valor Python') self.raiz.cboxc3.addItem('Java', 'Valor Java') self.raiz.cboxc3.addItem('Php', 'Valor Php') self.raiz.cboxc3.addItem('Ruby', 'Valor Ruby') self.raiz.cboxc3.currentIndexChanged.connect(lambda index: print( f'Index: {index} / Valor Item: {self.raiz.cboxc3.itemData(index)}') ) # get item boton *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnc5.clicked.connect(lambda: print( self.raiz.cboxc3.itemData(self.raiz.cboxc3.currentIndex())))
class MainStw(QMainWindow): def __init__(self): super(MainStw, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # botones cambio de panel *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnp1.clicked.connect( lambda: self.raiz.stwp1.setCurrentIndex(0)) self.raiz.btnp2.clicked.connect( lambda: self.raiz.stwp1.setCurrentIndex(1)) # index de ventana actual *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnp3.clicked.connect( lambda: print(self.raiz.stwp1.currentIndex()))
class MainLcd(QMainWindow): def __init__(self): super(MainLcd, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # insertar valores (int,float) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.lcdnn1.display(73.5) # extraer en evariable *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* valor = self.raiz.lcdnn1.value() print('valor:',valor) # obtener valor numerico *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnn2.clicked.connect(lambda : print(self.raiz.lcdnn1.value())) # establecer valor *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnn1.clicked.connect(lambda : self.raiz.lcdnn1.display(randint(10,500)))
class MainDate(QMainWindow): def __init__(self): super(MainDate, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # extraer variable str *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* variablefecha = self.raiz.datee1.date().toString("dd/MM/yyyy") print('variablefecha', variablefecha) # establecer fecha minima *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.datee1.setMinimumDate(QDate.fromString("08/11/2020", "dd/MM/yyyy"))' # establecr fecha maxima *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.datee1.setMaximumDate(QDate.fromString("20/12/2020", "dd/MM/yyyy"))' # establecr fecha maxima (fecha actual) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.datee1.setMaximumDate(QDate.currentDate())' # establecer rango de fecha *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* ''' fecha_minima = QDate.fromString("05/11/2020", "dd/MM/yyyy" ) fecha_maxima = QDate.fromString("15/12/2020", "dd/MM/yyyy" ) self.raiz.datee1.setDateRange(fecha_minima, fecha_maxima) ''' # establecer fecha *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.datee1.setDate(QDate.fromString("06/12/2020", "dd/MM/yyyy")) # obtener fecha por evento *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.datee1.dateChanged.connect( lambda date: print("fecha", date.toString("dd/MM/yyyy"))) self.raiz.datee1.dateChanged.connect(lambda date: print( "año:", date.toString("yyyy"), "mes:", date.toString("MM"))) # obtener fecha por boton *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btne1.clicked.connect( lambda: print(self.raiz.datee1.date().toString("dd/MM/yyyy")))
class MainChbox(QMainWindow): def __init__(self): super(MainChbox, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # cambiar de texto *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.chboxm1.setText('python 3') # capturar evento puede ser 'clicked' o 'toggled' *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'nota: *funciones en en final del codigo*' self.raiz.chboxm1.clicked.connect(lambda: self.eventoCheck()) self.raiz.chboxm2.clicked.connect(lambda: self.eventoCheck()) self.raiz.chboxm3.clicked.connect(lambda: self.eventoCheck()) # establecer una seleccion (valores por defecto) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.chboxm3.setChecked(True) self.eventoCheck() def eventoCheck(self): '''se puede pasar parametro, pero esta es una manera''' listaSeleccion = [] if (self.raiz.chboxm1.isChecked()): listaSeleccion.append('chboxm1: ' + self.raiz.chboxm1.text()) # obtener texto if (self.raiz.chboxm2.isChecked()): listaSeleccion.append('chboxm2: ' + self.raiz.chboxm2.text()) # obtener texto if (self.raiz.chboxm3.isChecked()): listaSeleccion.append('chboxm3: ' + self.raiz.chboxm3.text()) # obtener texto print(listaSeleccion)
class MainTab(QMainWindow): def __init__(self): super(MainTab, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # botones cambio de titulo tab (por index) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnq4.clicked.connect( lambda: self.raiz.tabq1.setTabText(0, f"Tab 1: {randint(1,100)}")) # botones cambio de tab *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnq1.clicked.connect( lambda: self.raiz.tabq1.setCurrentIndex(0)) self.raiz.btnq2.clicked.connect( lambda: self.raiz.tabq1.setCurrentIndex(1)) # index de tab actual *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnq3.clicked.connect( lambda: print(self.raiz.tabq1.currentIndex())) # evento cambio de tab *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.tabq1.currentChanged.connect( lambda index: print(f'se cambio a index: {index}'))
class MainLine(QMainWindow): def __init__(self): super(MainLine, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # extraer texto de cadena *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* variabletexto = self.raiz.lnb1.text() print('variabletexto:', variabletexto) # enviar texto por parametro *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.lnb2.textChanged.connect(lambda texto: print(texto)) # agregar texto (agrega a la caja el texto) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnb2.clicked.connect( lambda: self.raiz.lnb1.insert(' Nuevo')) # establecer texto *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnb1.clicked.connect( lambda: self.raiz.lnb1.setText(f'texto_{randint(1,100)}')) # restablecer texto *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnb3.clicked.connect(lambda: self.raiz.lnb1.setText(''))
class MainBar(QMainWindow): def __init__(self): super(MainBar, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # obtener el valor *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* valor = self.raiz.bars1.value() print('valor:', valor) # establecer rango *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.bars1.setRange(0,200)' # resetar barra *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btns1.clicked.connect(lambda: self.raiz.bars1.reset()) # establecer valor *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btns3.clicked.connect( lambda: self.raiz.bars1.setValue(randint(0, 100))) # obtener valor (boton) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btns2.clicked.connect( lambda: print('valor:', self.raiz.bars1.value()))
class MainTablew(QMainWindow): def __init__(self): super(MainTablew, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # EVENTOS /*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/ # llenado de valores *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'definimos una lista de valores' self.listadatos = [ ['a12', 'nokia', '*****@*****.**', 'nokia.org'], ['a15', 'huawei', '*****@*****.**', 'huawei.org'], ['a16', 'asus', '*****@*****.**', 'asus.org'], ['a20', 'blackberry', '*****@*****.**', 'blackberry.org'], ['a24', 'oppo', '*****@*****.**', 'oppo.org'], ] 'llenar tabla, para ello le pasamos la lista de valores' self.raiz.btnt1.clicked.connect( lambda: self.llenartabla(self.listadatos)) # extraer fila,columna,item,lista_fila (evento) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.tablet1.cellClicked.connect(lambda fila, columna: print( # fila f'\n*fila:\t{fila}', # columna f'\n*colum:\t{columna}', # item seleccionado f'\n*item:\t{self.raiz.tablet1.item(fila, columna).text()}', # elementos de la fila f'\n*lista:\t{[self.raiz.tablet1.item(fila, columna).text() for columna in range(self.raiz.tablet1.columnCount())]}', # solo el 1er elemento (index 0) f'\n*1er item:\t{self.raiz.tablet1.item(fila, 0).text()}', )) # insertar columna y fila en la ultima posicion *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.tablet1.insertRow(self.raiz.tablet1.rowCount())' 'self.raiz.tablet1.insertColumn(self.raiz.tablet1.columnCount())' # crear columna y filas por rango *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.tablet1.setRowCount(10)' 'self.raiz.tablet1.setColumnCount(10)' # insertar columna y fila por index *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.tablet1.insertRow(2)#se basa en index' 'self.raiz.tablet1.insertColumn(2)#se basa en index' # eliminar fila de tabla *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* ''' para esto deberas agregar un controlador para evitar que los elementos se sigan eliminado con el boton. En este caso no se le agrego, esto solo es para mostrar la funcionalidad. ''' self.raiz.btnt4.clicked.connect(lambda: self.raiz.tablet1.removeRow( #NOTA: con este mismo index podremos eliminarlo de la matriz "self.listadatos" self.raiz.tablet1.currentRow())) # obtener lista de fila (por boton) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'nota: *funciones en en final del codigo*' self.raiz.btnt2.clicked.connect( lambda: self.listaRowTablaUno(self.raiz.tablet1.currentRow())) # obtener fila o columna actual *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.tablet1.currentRow()' 'self.raiz.tablet1.currentColumn()' # borrado de elementos *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnt3.clicked.connect( lambda: self.raiz.tablet1.setRowCount(0)) # total de filas y columnas *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* cantidadFilas = self.raiz.tablet1.rowCount() cantidadColumnas = self.raiz.tablet1.columnCount() # CONFIGURACIONES /*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/ # establecer "filas" fija, elastica, interactiva (para todos) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'Fixed Stretch Interactive' self.raiz.tablet1.verticalHeader().setSectionResizeMode( QHeaderView.Fixed) # establecer "columnas" fija, elastica, interactiva (para todos) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'Fixed Stretch Interactive' self.raiz.tablet1.horizontalHeader().setSectionResizeMode( QHeaderView.Stretch) # establecer "columna" fija (por index) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* '1. primeramente elegimos el index 0' self.raiz.tablet1.horizontalHeader().setSectionResizeMode( 0, QHeaderView.Fixed) # establecer tamaño de "columnas" por index *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* '2. despues le designamos un tamaño' self.raiz.tablet1.setColumnWidth(0, 50) def llenartabla(self, lista): '''llenar elementos a la tabla''' # borrar elementos de la tabla *-*-*-*-*-*-*-*-* self.raiz.tablet1.setRowCount(0) # crear filas con respecto a los elementos *-*-*-*-*-*-*-*-* self.raiz.tablet1.setRowCount(len(lista)) # reocorrer columnas y lista de items *-*-*-*-*-*-*-*-* for fila, listaItem in enumerate(lista): # agregar items for columna, item in enumerate(listaItem): self.raiz.tablet1.setItem(fila, columna, QTableWidgetItem( str(item))) # insertar items self.raiz.tablet1.item(fila, columna).setTextAlignment( Qt.AlignCenter | Qt.AlignVCenter) # alinear items def listaRowTablaUno(self, fila): '''extraer lista de elementos de una fila''' #si no se selecciono nada, la fila sera -1 if (fila >= 0): # cantidad de columnas *-*-*-*-*-*-*-*-* columnas = self.raiz.tablet1.columnCount() # recorremos todas las columnas de la fila seleccionada *-*-*-*-*-*-*-*-* lista = [ self.raiz.tablet1.item(fila, columna).text() for columna in range(columnas) ] print(lista)
class MainCalewd(QMainWindow): def __init__(self): super(MainCalewd, self).__init__() self.raiz = Ui_Elementos() self.raiz.setupUi(self) # METODOS /*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/ # extraer variable str *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* variablefecha = self.raiz.cald1.selectedDate().toString("dd/MM/yyyy") print('variablefecha', variablefecha) # establecer fecha *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.cald1.setSelectedDate( QDate.fromString("08/11/2020", "dd/MM/yyyy")) # establecer fecha minima *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.cald1.setMinimumDate(QDate.fromString("08/11/2020", "dd/MM/yyyy" ))' # establecer fecha maxima *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.cald1.setMaximumDate(QDate.fromString("20/12/2020", "dd/MM/yyyy" ))' # establecer fecha maxima (con la fecha actual) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.cald1.setMaximumDate(QDate.currentDate())' # establecer un rango de fecha *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* ''' fecha_minima = QDate.fromString("05/11/2020", "dd/MM/yyyy" ) fecha_maxima = QDate.fromString("15/12/2020", "dd/MM/yyyy" ) self.raiz.cald1.setDateRange(fecha_minima, fecha_maxima) ''' # establece pagina basado en (AÑO,MES) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 'self.raiz.cald1.setCurrentPage(2020, 5)' # siguiente/pasado mes *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnd1.clicked.connect( lambda: self.raiz.cald1.showNextMonth()) self.raiz.btnd2.clicked.connect( lambda: self.raiz.cald1.showPreviousMonth()) # siguiente/pasado año *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.btnd3.clicked.connect(lambda: self.raiz.cald1.showNextYear()) self.raiz.btnd4.clicked.connect( lambda: self.raiz.cald1.showPreviousYear()) # seleccion de fecha *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.raiz.cald1.clicked.connect( lambda date: print(date.toString("dd/MM/yyyy"))) self.raiz.cald1.selectionChanged.connect( lambda: print("solo selecciona una vez el dia")) # OBJETOS DEL CALENDARIO /*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/ # boton mes previo *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.btnCalPrev = self.raiz.cald1.findChild(QToolButton, "qt_calendar_prevmonth") self.btnCalPrev.clicked.connect(lambda: print('cal btn mesPrev')) # boton mes siguiente *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.btnCalNext = self.raiz.cald1.findChild(QToolButton, "qt_calendar_nextmonth") self.btnCalNext.clicked.connect(lambda aa: print('cal btn mesNext')) # boton seleccion mes *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.btnCalMes = self.raiz.cald1.findChild(QToolButton, "qt_calendar_monthbutton") self.btnCalMes.triggered.connect( lambda elemento: print('cal btn Mes', elemento.text())) # spinbox seleccion año *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.spinCalYear = self.raiz.cald1.findChild(QSpinBox, "qt_calendar_yearedit") self.spinCalYear.valueChanged.connect( lambda year: print('cal spin Año', year)) # bloquear envento scroll en calendario *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* self.scrollcalen = self.raiz.cald1.findChild( QTableView, "qt_calendar_calendarview") self.scrollcalen.viewport().installEventFilter(self) def eventFilter(self, obj, event): # scroll de qcalendar widgets (bloquear evento scroll) if (obj is self.scrollcalen.viewport() and event.type() == QEvent.Wheel): return True else: return super(MainCalewd, self).eventFilter(obj, event)