私は Qt を初めて使用し、モデルで QTableView を機能させることができました。3列固定です。ウィンドウを開くと問題ないように見えますが、ウィンドウのサイズを変更すると、QTableView 自体のサイズが変更されますが、列の幅は変わりません。それを機能させる組み込みの方法はありますか?ウィンドウのサイズが変更されるたびに、 QTableView の端に合わせて列のサイズを変更したい。
質問する
73090 次
4 に答える
7
ウィジェットQTableView、QTreeView、およびそれらの派生クラス ( QTableWidgetなど) には、次の 2 つの便利なメソッドがあります。
QHeaderView* horizontalHeader() const;
QHeaderView* verticalHeader() const;
クラスQHeaderViewのドキュメントを開くと、項目ビューの行ヘッダーまたは列ヘッダーの外観と動作を設定するメソッドが見つかります。次のいずれかの方法で問題を解決できます。
void QHeaderView::stretchLastSection( bool stretch ) Davy Jones
が述べた ように。例:
QTableView *table = new QTableView(); table->horizontalHeader()->setStretchLastSection(true);
void QHeaderView::setResizeMode( ResizeMode mode ) モードとして
、QHeaderView::Stretch または QHeaderView::ResizeToContents を設定できます。 残念ながら、この方法には欠点があります。適用後は、列 (または行) のサイズを手動で (GUI で) またはプログラムで変更することはできません。例:
QTableView *table = new QTableView(); table->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
于 2014-12-26T14:13:45.813 に答える