QSortFilterProxyModel (任意の順序で) を介して特定の列を非表示/削除している QTableView 内に保存された列幅を維持する標準的な方法は何ですか? 単一のインスタンス内でそれらを非表示および非表示にすることについて話していることに注意してください。
私はそれを実現するためにいくつかの方法(すべて醜い)を試しました。確かに私は何か間違ったことをしています。
QHeaderView::saveState() と QHeaderView::restoreState() を見てきましたが、何か不足していない限り、これはシャットダウンから開始までの保存にのみ適しています。列が別の順序で非表示および非表示にされると、これは壊れます。
QSortFilterProxyModel は、filterAcceptsColumn() を使用して正常に動作します。注意点は、以前に false を返した列に対して filterAcceptsColumn() が true を返す場合です。invalidateFilter() を実行すると、QTableView に描画されます。ただし、 QTableView は、 QSortFilterProxyModel が列を非表示にする前の幅ではなく、列幅にデフォルト値 (100 のようです) を使用しています。
アイデア?