3

読み込まれたすべてのファイル名 (「mol_name」) に対応する各親と、対応する読み込まれたファイルの 1 つまたは複数のコンポーネント (「チェーン」) を指定しない各親の子を使用して、Python/GTK に TreeStore を書き込もうとしています。

ロードされた各ファイルの名前を最初の列に一覧表示する 3 列のウィンドウが必要です。2 番目の列は、結果の操作がそのファイルに適用されるかどうかを切り替えるチェックボタンであり、3 番目の列は、1 つまたは複数の可能なコンポーネントを一覧表示しないコンボボックスです。これを選択して、操作の適用方法をさらに絞り込むことができます。

以下は私がこれまでに持っているコードです。これを機能させるためのヘルプやガイダンスをいただければ幸いです。

for imol in molecule_number_list():
    combobox_name = molecule_name(imol)
    combobox.append_text(combobox_name)
combobox.connect('changed', sel_ref_mol)
box1_vbox.pack_start(combobox, False, False)

window = gtk.Window()
window.set_default_size(200, 200)

treestore = gtk.TreeStore(str, bool)
for imol in molecule_number_list():
    mol_name = molecule_name(imol)
    piter = treestore.append(None, [mol_name, True])
    for chain in chain_ids(imol):
        treestore.append(piter, [chain, True])

treeview = gtk.TreeView(treestore)
column_text = gtk.TreeViewColumn("Text")
column_toggle = gtk.TreeViewColumn("Toggle")
column_combo = gtk.TreeViewColumn("Combo")
treeview.append_column(column_text)
treeview.append_column(column_toggle)
treeview.append_column(column_combo)

cellrenderer_text = gtk.CellRendererText()
column_text.pack_start(cellrenderer_text, False)
column_text.add_attribute(cellrenderer_text, "text", 0)

cellrenderer_toggle = gtk.CellRendererToggle()
column_toggle.pack_start(cellrenderer_toggle, True)
column_toggle.add_attribute(cellrenderer_toggle, "active", 1)

cellrenderer_combo = gtk.CellRendererCombo()
cellrenderer_combo.set_property("editable", True)
cellrenderer_combo.set_property("model", treestore)
cellrenderer_combo.set_property("text-column", 0)
column_combo.pack_start(cellrenderer_combo, False)
column_combo.add_attribute(cellrenderer_combo, "text", 2)
4

0 に答える 0