Je ne suis pas sûr de savoir comment poser cette question, alors, n'hésitez pas à demander plus d'informations.Comment vous assurer que les colonnes de QTableView sont redimensionnées au maximum
Il semble que tableView->resizeColumnsToContents()
redimensionnera uniquement toutes les colonnes en fonction des données de la vue en cours. Ce qui signifie que si j'ai plus de données ci-dessous (ce qui est plus long en termes de nombre de mots), ces mots seront fermés (si la propriété wordWrap
est définie sur true). La chose étrange est, si je fais défiler vers le bas et actualise les données, tableView
va redimensionner ces colonnes correctement. Il semble que si tableView
ne savait pas il y a plus de texte ci-dessous. Donc, ma question est, comment puis-je m'assurer que ces colonnes sont redimensionnées au maximum en fonction de toutes les données?
Mes codes
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
J'ai essayé tableResult->scrollToBottom()
et il ne Redimensionner en fonction des éléments en bas. Donc, s'il y a des mots plus longs au milieu, ces mots seront enveloppés.
Mise à jour 2
Si quelqu'un veut comprendre ce dont je parle, juste
download
cet exemple. Vous verrez que cliquer sur le PushButton va générer une donnée qui n'est pas redimensionnée correctement.
Mise à jour 3
Peut-être un bug: https://bugreports.qt.io/browse/QTBUG-9352
J'ai aussi ce problème. seules les lignes visibles sont redimensionnées. Avez-vous déjà trouvé une solution pour cela? – ComputerEngineer88