1

Gtk.CellRendererText でテキストの折り返しを許可しようとしていますが、小さな問題があります:

巨大な列!

これらの行は非常に大きいです。

私が変更した唯一のコードはこれでした:

    cell = Gtk.CellRendererText(markup=0)
    cell.set_property("wrap_mode", Pango.WrapMode.WORD)
    cell.set_property("wrap_width", 20)

そして、それはラップしますが、この視覚的な問題も発生させるように見えました

4

1 に答える 1

1

かなり前に、planet gnome のブログでこれについて何か読んだことを覚えているようです。私が覚えていることから、高さ対幅の描画モデルと関係があることを意味します。つまり、ラッピングが有効になっている場合、GtkLabel などは、使用可能な水平方向のスペースが多く、空の負荷が残っている場合でも、ラップ幅のテキストをリフローするのに十分な高さを要求します。幅が広い場合のスペース。修正がありましたが、現時点では覚えていないので、後で元の投稿を見つけてみます.

試してみましたが、投稿が見つかりませんが、さらに読んだところ、これが問題であると確信しています。https://bugs.launchpad.net/ubuntu/+source/gtk+3.0/+bug/825173で同様のことを行う GtkTable に関連するいくつかの議論があります。ラッピングをオフにしました。列幅が変更されたときに通知を受け取り、wrap-width をその値の正しい幅にすることは可能だと思いますが、それは少し面倒です。

列を固定幅のままで使用できる場合はexpand、列Falseのプロパティを に設定し、fixed-widthプロパティをTrueに設定してから、レンダラーのwrap-widthwidth-charsおよびmax-width-charsプロパティをすべて同じ値に設定すると、テキストは余分なスペースなしで折り返されます。

于 2013-07-12T09:11:34.223 に答える