は、ここに私のソフトウェアの印刷画面です:あなたが見ることができるように、最初のQTableVIewヘッダーが幅の100%を取ることはありませんQTableViewの幅を100%にする方法を教えてください。
。実際、フィールド「サイズ」の右側に小さい垂直の空白があります。
QTableViewの幅の100%を取得するにはどうすればよいですか?
は、ここに私のソフトウェアの印刷画面です:あなたが見ることができるように、最初のQTableVIewヘッダーが幅の100%を取ることはありませんQTableViewの幅を100%にする方法を教えてください。
。実際、フィールド「サイズ」の右側に小さい垂直の空白があります。
QTableViewの幅の100%を取得するにはどうすればよいですか?
Qt 5を使用している場合、QHeaderView::setResizeMode()
は利用できなくなります。代わりにQHeaderView::setSectionResizeMode()
を使用できます。ただ、すべての列のためにそれを呼び出す:
for (int c = 0; c < ui->tableView->horizontalHeader()->count(); ++c)
{
ui->tableView->horizontalHeader()->setSectionResizeMode(
c, QHeaderView::Stretch);
}
同じ問題、まだ動作しません。最後のセクションは伸びていますが、最初のセクションは伸びていません。 –
それはQt 5.1で私にとっては役に立ちます。このコードでセクションのサイズ変更モードを設定する前に、モデルをテーブルビューに設定しましたか?まだ列がない場合、このコードは何もしません。 –
私のためにも動作します!ありがとう –
view->horizontalHeader()->setStretchLastSection(true)
を使用すると、最後の列が空き領域に拡張されます。
さらに、view->horizontalHeader()->setResizeMode(QHeaderView::Stretch)
を使用して、同じ幅の列を指定します。
@ user2429940 QtCreator/Designerを使用している場合は、プロパティセクションの – Huy
にあります。最初のコマンドは機能しますが、2番目のコマンドは機能しません。つまり、最後の列は伸びていますが、2つの列は同じサイズではありません。 –
ここでのみ使用して動作します:
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
私はQtの5.2を使用しています!
テーブルのすべてのセルに列幅を分散するのに苦労しました。
QVariant headerData(int section, Qt::Orientation orientation, int role) const override {
if (orientation == Qt::Vertical) {
return QVariant();
}
if (role == Qt::SizeHintRole) {
auto* p = qobject_cast<QTableView*>(QObject::parent());
if (p == nullptr) return QVariant();
// Parent total width.
const int w = p->viewport()->size().width() -
p->verticalScrollBar()->sizeHint().width();
QSize qs;
// Default height.
qs.setHeight(p->verticalHeader()->defaultSectionSize());
// Width per column.
switch (section) {
case 0:
qs.setWidth(w * 0.45);
return QVariant(qs);
case 1:
qs.setWidth(w * 0.45);
return QVariant(qs);
// ... others
default: ;
}
return QVariant();
}
if (role == Qt::DisplayRole) {
// header titles.
}
}
[Qtableview内部QStandardItemModel]の可能複製(http://stackoverflow.com/questions/16931569:私の場合には、モデルのheaderData機能では、私は次のようでしたが(resizeColumnsToContents()どこかを呼び出す必要があります)/qstandarditemmodel-inside-qtableview) –