2011-12-04 4 views
1

私はPyQtで書かれたアプリケーションを持っています。私はグリッドにQTableWidgetベースのクラスを使用します。 場合によっては(セル内の長いテキストデータ)項目サイズが間違って決定され、クリッピングが発生することを除いて、すべてがOKです。 デリゲートのsizeHint()関数をオーバーライドするのは簡単ですが、テーブルには何千もの項目があり、巨大なテーブルの各セルごとにpython(!)関数を呼び出すのは悪いと思います。さらに、すべての(あまりにもレンダリングされただけでなく)5pxボーダーがきれいではないとしましょう。QTableWidgetでレンダリングされたテーブルセルのサイズが正しくありません。どうすれば修正できますか?

Wrong item size

誰かがそれを修正するために、よりabequate方法を提供することができますか?

+0

これは再生できません。問題を示す簡単なサンプルスクリプトを提供してください。 (Qtのどのバージョンを使用しているか、Qt-4.7.4を使用していると言ってもいいかもしれません)。 – ekhumoro

+0

@ekhumoro私もバージョン4.7.4を使用していますが、私はこの問題をあなたのための短い例を提供しようとしました:)私のカスタムデリゲートはQItemDelegateから継承されました。デフォルトサイズはWindows XPとWindows 7では間違っています、Qt 4.7.4およびいくつかの最近のQtバージョン。 –

+0

@ekhumoro QStyledItemDelegateは正常に動作しています。 –

答えて

1

QStyledItemDelegateを使用して、の私のカスタムデリゲートを継承するはずです。 QStyledItemDelegateを使用すると、アイテムが正常に表示されます。

0

QTableWidget().verticalHeader().setDefaultSectionSize(rowheight)を呼び出して、すべてのテーブル行の基本サイズを設定することができます。

+0

デフォルトのサイズを設定する必要はありません。私は長いテキストデータを持つ行の正しいサイズを定義し、できるだけ速い方法で行う必要があります。 –

関連する問題