は、私はシンプルなQTableViewを持っていると私は基本的にこれをエミュレートしたい:これはで容認できないすべての単一の行、上sizeHint
を呼び出しているので、PyQtはセット列幅
view.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeToContents)
しかし、私は実際にこれを使用することはできません私の場合、ウィジェットは起動時に応答する必要があり、計算にはすべての行に時間がかかるためです。したがって、これは選択肢ではありません。
私はいつも同じで、常に最大の高さを持つ1つの列のサイズを知っています。ただし、このセルの幅は、必ずしも行内のすべてのセルのうちで最も幅が広いとは限りません。私はこれらの細胞をこれを行うことで正しいサイズにしましたが、これは明らかにすべての細胞を同じサイズにし、多くは今では広すぎます。
view.horizontalHeader().setDefaultSectionSize(200)
view.verticalHeader().setDefaultSectionSize(100)
私はまた、個々の列幅を設定しようとしたが、それは幅に全く影響を与えないように見える、このような:
view.setColumnWidth(0, 5)
をまた、個々の列幅を設定することではありません彼らがどれくらい広がっているのかを私が事前に知ることができないので、素晴らしい。
上記のようにResizeToContents
アプローチを使用する(またはエミュレートする)方法はありますか?すべてのセルサイズを確認する必要はありません。
これは私が探していたものです。ありがとうございます。ただ1つのフォローアップの質問。これは、列の幅を完全に処理しますが、私が垂直ヘッダに対して同じことをしようとすると、すべての行に対して 'sizeHint'を呼び出します。これは本当に問題ではありません。高さを知りたいからですが、なぜこれが目に見える行を見るだけではないのか分かりません(何行目になるのかわかりません表示されますか?)。さらに、垂直のヘッダ精度をexに設定すると、 2の場合、すべての行がまだチェックされています。どんな洞察? – Pavlin
@Pavlin、この方法でいくつかの修正を見つけられたらうれしいです。私は行の高さに適用せずに、あなたがしたようにそれを使用したので、私はあなたにもっと多くを伝えることはできません。 -1、0、または少数の数字で同じ動作を観察しましたか? – PRMoureu
私はさまざまな値を試しましたが、すべてすべての行をチェックする必要がありました。とにかく、ありがとう! – Pavlin