5

TreeView のいくつかの行を太字にしたいのですが、TreeView に追加しない行もあります。後で、クリック時に行を太字にしたくないのです。

これを行う最も簡単な方法は何ですか?

4

1 に答える 1

7

テキストを含む列を含むモデルがあり、gtk.CellRendererTextウィジェットにはtextそのモデルの列インデックスに設定されたプロパティがあると仮定します。

そのモデルに新しい列を追加すると、それを使用して、すべてのセル レンダラーで使用されるフォントの太さを設定できます。これを行うには、gtk.CellRendererTextwidgetweightプロパティをモデルの新しい列インデックスと にweight-set設定するだけTrueです。

その後、やpango.WEIGHTなどの定数を使用して、モデルにフォントの太さを設定するだけです。pango.WEIGHT_NORMALpango.WEIGHT_BOLD

例として、これらがモデル列であるとしましょう (1 つはテキスト用、もう 1 つはフォントの太さ用):

モデル列

これらは、テスト用に追加したいくつかの行です。

モデル行

( と に注意してpango.WEIGHT_NORMAL=400くださいpango.WEIGHT_BOLD=700)

このモデルではgtk.TreeView、列とテキスト レンダラーを使用して を作成します。

ツリービュー階層

レンダラーで、textプロパティをtextモデルの列に設定します。

セル レンダラー テキスト

モデルの列へのweightプロパティ:weight

セル レンダラーの重み

モデルに追加したテスト データで得られる結果は次のとおりです。

最終結果

モデルに設定されているフォントの太さでテキストが表示されていることがわかる場所。

于 2011-12-13T15:33:49.233 に答える