No estoy seguro de cómo preguntar esto, así que no dude en pedir más información.Cómo asegurarse de que las columnas en QTableView cambian de tamaño al máximo
Parece que tableView->resizeColumnsToContents()
solo cambiará el tamaño de todas las columnas en función de los datos en la vista actual. Lo que significa que si tengo más datos a continuación (que es más largo en términos de recuentos de palabras), esas palabras se cerrarán (si la propiedad wordWrap
está establecida en verdadero).
Lo extraño es que si me desplazo hacia abajo hasta la parte inferior y actualizo los datos, tableView
cambiará el tamaño de esas columnas correctamente. Parece como si tableView
no supiera que hay texto más largo a continuación.
Entonces, mi pregunta es, ¿cómo puedo asegurarme de que las columnas se redimensionan al máximo en función de todos los datos?
Mis códigos
QSqlTableModel *model = new QSqlTableModel;
model->setTable("item");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select();
tableResult->setModel(model);
tableResult->setEditTriggers(QAbstractItemView::NoEditTriggers);
tableResult->setSelectionBehavior(QAbstractItemView::SelectRows);
tableResult->setSelectionMode(QAbstractItemView::SingleSelection);
tableResult->resizeColumnsToContents();
tableResult->resizeRowsToContents();
Actualizar 1
he intentado tableResult->scrollToBottom()
y sólo cambiará de tamaño basada en los puntos en la parte inferior. Entonces, si hay palabras más largas en el medio, esas palabras se envolverán.
Actualización 2
Si alguien quiere entender lo que estoy hablando, simplemente
download
este ejemplo. Verá que al hacer clic en PushButton se generarán datos que no se redimensionarán correctamente.
Actualización 3
Posiblemente un error: https://bugreports.qt.io/browse/QTBUG-9352
Estoy teniendo este problema también. solo las filas que son visibles cambian de tamaño. ¿Alguna vez has encontrado una solución para esto? – ComputerEngineer88