写真はタイトルを説明します:
LMDE および Ubuntu 12.04 では、私の GtkIconView は次のようになります。アイコン間の間隔に関しては正しいです。
Ubuntu 12.10、13.04、および Fedora 17 では、同じコードが次のように表示されます。
注意 - これは python の python プラグインです - ソース コードはGitHub にあります
次の GtkIconView 属性を確認しました。これらは、Ubuntu 12.04 と誤って表示された 12.10 バージョンの間でまったく同じです。
- 項目パディング
- 行間隔
- 列間隔
- アイテム幅
この表示動作は、text_columnまたはmarkup_column (アイコンの下のテキスト) を表示列に設定するとすぐに発生します。つまり、値を -1 から列番号に変更します。
テキスト列/マークアップ列が非表示の場合 (値が -1 の場合)、すべてのディストリビューションで表示が正しくなります。
まったく同じ音楽コレクションで同じコードが実行されているため、Fedora 17/Ubuntu 12.10/13.04 の新しい GTK ライブラリの動作が異なると推測できます。
私のgoogle-fuは、同じように聞こえるこの参照のみを見つけました。しかし、ubuntu-accomplishment-viewer のソース コードを調べても、あまり理解が得られませんでした。
他の誰かがこれに遭遇しましたか?さらに調査するための最良の方法に関する提案はありますか?
わかりました - 私はこれを必要最小限に抑えようとしました - この単純なコードを含むこの単純な空き地ファイルは、この問題を引き起こします。しかし、私はまだこの視覚効果を引き起こしているものは賢明ではありません:/
#!/usr/bin/env パイソン gi.repository から Gtk、GdkPixbuf をインポート ウィンドウ = Gtk.Window() window.connect('delete_event', Gtk.main_quit) ui = Gtk.Builder() ui.add_from_file('reproduce.ui') ページ = ui.get_object('main_box') window.add(ページ) ls = Gtk.ListStore(str, GdkPixbuf.Pixbuf) アイコン = GdkPixbuf.Pixbuf.new_from_file_at_size( str("/usr/share/icons/gnome/48x48/actions/zoom-out.png"), 90, 90) 範囲内の i の場合 (15): ls.append(['Item %d' % i, icon]) covers_view = ui.get_object('covers_view') covers_view.set_model(ls) covers_view.set_text_column(0) covers_view.set_pixbuf_column(1) covers_view.set_item_width(100) # これらの行により、問題を簡単に確認できます crt、crp = covers_view.get_cells() crt.set_property('背景', '#000') crt.set_property('フォアグラウンド', '#AAA') print crt.get_request_mode() window.set_default_size(600,400) window.show_all() Gtk.main()
そして空き地 - http://pastebin.com/uvQ9mWeg
deinonychusaurの提案から、私はgtkparasiteを見ました
参考までに-Ubuntu 12.04と12.10の両方にAnthonyWongの既製のPPAを使用しました。
両方のバージョンの結果は同じでした。アプリを使用して IconView プロパティを変更して実験しても、これは実際には解決しませんでした。
deinonychusaur からの次の提案は非常に興味深いようで、確認できます。
IconView CellRendererText は、Fedora 17/12.10/13.04 の IconView Pixbuf のサイズの 2 倍ですが、12.04 の IconView Pixbuf のサイズの 1 倍です。