2016-11-14 16 views
0

私のPythonアプリケーションには、現在のところいくつかのプレースホルダ行を持つListBoxがあります。GTK + 3でCSSを使用したリスト行のスタイル設定

for i in range(0, 10): 
    myListRow = Gtk.ListBoxRow() 
    myList.add(myListRow) 

    myListItem = Gtk.Box(name="MyListItem", orientation=Gtk.Orientation.HORIZONTAL) 
    myListRow.add(Gtk.Label(label="placeholder")) 

どのような方法でも行のスタイリングに苦しんでいます。変更のこれらの結果の任意の背景色を使用して、なし:

.list row { 
    background: #f00; 
} 

-

.row { 
    background: #f00; 
} 

-

row { 
    background: #f00; 
} 

- 何らかの理由

GtkListBox row { 
    background: #f00; 
} 

、このしかし、それだけではなく、それにラベルを持つリストボックス:.list .label { background: #0f0 }

.list > * { 
    background: #f00; 
} 

テストはそれだけでラベルをスタイリングていないことを確認しました。行は確かにListBox内にあり、確かにスタイルを付けることができますが、ListBox行のCSSセレクタがどのようなものか分かりません。どんな助けもありがとう。

Python 3.4でGTK + 3.18を実行するPyGIを使用する。

+0

GTKインスペクタ(ctrl + shift + Iまたはctrl + shift + D)を使用するとよいでしょう。GTK 3.20では、CSSノード名がドキュメントに記載されているので、これはずっと簡単です。 – ptomato

+0

@ptomatoが働いて、私はそれを把握することができました!ありがとうございました。 – Kavaeric

答えて

0

"GTK_DEBUG"をシステム変数に "interactive"という値で追加してGTKデバッガ/インスペクタを実行させました。

実際には、行要素の名前はlist-rowです。