Non sono sicuro di come chiedere questo, quindi, non esitate a chiedere ulteriori informazioni.Come assicurarsi che le colonne in QTableView vengano ridimensionate al massimo
Sembra che tableView->resizeColumnsToContents()
ridimensioni solo tutte le colonne in base ai dati nella vista corrente. Il che significa che se ho più dati qui sotto (che è più lungo in termini di conteggi di parole), queste parole verranno eliminate (se la proprietà wordWrap
è impostata su true).
La cosa strana è che se si scorre verso il basso e si aggiornano i dati, tableView
ridimensionerà correttamente tali colonne. Sembra che tableView
non sapesse che ci sono testi più lunghi qui sotto.
Quindi, la mia domanda è, come posso essere sicuro che quelle colonne siano ridimensionate al massimo sulla base di tutti i dati?
miei codici
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();
Update 1
ho provato tableResult->scrollToBottom()
e sarà solo ridimensionare in base ai punti nella parte inferiore. Quindi, se ci sono parole più lunghe nel mezzo, queste parole saranno avvolte.
Update 2
Se qualcuno volesse capire di cosa sto parlando, basta
download
questo esempio. Vedrai che facendo clic sul pulsante PushButton verranno generati dati non ridimensionati correttamente.
Update 3
Possibilmente un errore: https://bugreports.qt.io/browse/QTBUG-9352
Anche io sto avendo questo problema. solo le righe che sono state ridimensionate. Hai mai trovato una soluzione per questo? – ComputerEngineer88