QT - CREAR qtablewidget

   
Vista:

CREAR qtablewidget

Publicado por MMMM (3 intervenciones) el 04/07/2014 00:55:06
HOLA A TODOS.. ESTA PAGINA SIEMPRE ME AYUDO Al COMIENZO DE MI APRENDIZAJE para programar..
ASI QUE VUELVO ACA A RECIBIR LAS MISMAS CLASES QUE TUVE ANTES... pero esta vez en QT o pyqt

ESPERO ME PUEDAN AYUDAR.

NECESITO CREAR qtablewidget PERO DEPENDIENDO DE CUANTOS qtablewidget NECESITO

EJM:
PONER EN UNA CAJA DE TEXTO (qlineedit) un nro por ejemplo 5 y al dar click en un boton me cree 5 qtablewidget
y para despues asignarle valores diferentes a cada qtablewidget...

espero me puedan ayudar..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

CREAR qtablewidget

Publicado por juanki (67 intervenciones) el 04/07/2014 11:09:35
Hola

Pues si sabes el número de filas y columnas que tienes que crear, tan solo tienes que hacer un bucle e ir rellenando la tabla con los elementos.

Por ejemplo, si ponemos 2 QSpinBox, para obtener las filas y columnas que queremos, los llamamos edCol y edFilas, y por supuesto un QTableWidget, que lo llamo listaWidget. No me gusta dejar los nombres que da Qt por defecto, ni para los ejemplos xD.

Ahora tan solo habría que hacer un bucle que vaya llenando la tabla. Por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// si ya tenía algo, se limpia su contenido
if(ui->listaWidget->rowCount() > 0) ui->listaWidget->clear();
 
// establecer el número de filas y columnas
ui->listaWidget->setColumnCount(ui->edCol->value());
ui->listaWidget->setRowCount(ui->edFilas->value());
 
// un título para las columnas
QStringList cabecera;
for(int c = 0; c < ui->edCol->value(); c++){
    QString titulo = "Columna " + QString::number(c);
    cabecera << titulo;
}
ui->listaWidget->setHorizontalHeaderLabels(cabecera);
 
// crear los elementos de la tabla
for(int fila = 0; fila < ui->edFilas->value(); fila++){
    for(int col = 0; col < ui->edCol->value(); col++){
        QString texto = "Fila " + QString::number(fila) + " Columna " + QString::number(col);
        ui->listaWidget->setItem(fila, col, new QTableWidgetItem(texto));
    }
}


http://qt-project.org/doc/qt-5/qtablewidget.html

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CREAR qtablewidget

Publicado por MMM (3 intervenciones) el 05/07/2014 05:05:21
creo que no me entendiste...
yo quiero crear los qtablewidget
por ejemplo si doy click en un boton..
este creara 5 tablewidget
para luego llenarlos con datos diferentes...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CREAR qtablewidget

Publicado por juanki (67 intervenciones) el 05/07/2014 11:28:36
¿Tablas?

¿Y eso no van a ser muchas tablas? Te va a quedar una interfaz muy, no sé, cuanto menos complicada. No sé lo que pretendes, pero tal vez deberías tratar de verlo de otra forma.

De todas formas, el procedimiento es más o menos el mismo, ir creando la tabla, dándole los valores adecuados y luego añadiéndolas a la ventana.

Mira, para que investigues un poco, cuando creas un programa con el diseñador de interfaces, QtCreator te genera un archivo con todo el código necesario para crear esa interfaz.

Así que puedes crear una ventana, añadirle una tabla y compilar. Entonces QtCeator te habrá creado un archivo de nombre ui_nombreDeTuVentana.h y en él está todo el código para crearla, examínalo y verás como hace Qt para crear una tabla. Pero no escribas código en ese archivo, no servirá de nada, QtCreator lo regenera cada vez que compilas, así que lo que hagas ahí se pierde. Úsalo como ejemplo para crear tu programa.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CREAR qtablewidget

Publicado por MMM (3 intervenciones) el 08/07/2014 16:46:23
gracias por tu comentario.. recien empiezo en este lenguaje..
mi idea es que el usuario tenga un limite de 5 tablas por ejemplo.
y luego poder ingresar informacion a cada tabla segun el usuario elija a que tabla quiere ingresar la informacion

luego el usuario dara click en un boton y grabara toda la informacion de las tablas.

estoy trabajando con pyqt
.. no se si sera posible que me puedas un pequeño ejemplo de lo que mencionaste arriba pero como tratarlo en mi idea..
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CREAR qtablewidget

Publicado por juanki (67 intervenciones) el 09/07/2014 12:02:31
Hola

Pues no me llevo muy bien con python.

Prueba para empezar a hacerlo usando el diseñador de interfaces, mete las 5 tablas y olvídate de crearlas a mano, te será más fácil para empezar.

De todas formas no acabo de ver claro lo que quieres hacer, si tienes que pedir diferentes tipos de datos al usuario, ¿No sería mejor que lo hagas en ventanas independientes? Dentro de cada una de ellas pones la tabla y el código para manejar ese tipo de datos y luego en la ventana principal un menú o unos botones para ir a cada una de ellas.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar