どのように聞いてよいかわかりませんので、お気軽にお尋ねください。
tableView->resizeColumnsToContents()
現在のビューのデータに基づいてすべての列のサイズを変更するだけのようです。つまり、下にさらにデータがある場合 (単語数の点でより長い)、それらの単語は折り返されます (wordWrap
プロパティが true に設定されている場合)。
奇妙なことに、一番下までスクロールしてデータを更新すると、tableView
それらの列のサイズが正しく変更されます。tableView
下に長いテキストがあることを知らなかったかのようです。
それで、私の質問は、すべてのデータに基づいてこれらの列のサイズが最大になるようにするにはどうすればよいですか?
私のコード
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();
更新 1
試してみましtableResult->scrollToBottom()
たが、下部のアイテムに基づいてのみサイズが変更されます。そのため、途中に長い単語がある場合、それらの単語は折り返されます。
更新 2
私が話していることを理解したい人は、この例をダウンロードしてください。PushButton をクリックすると、正しくサイズ変更されていないデータが生成されることがわかります。
アップデート 3