0

こんにちは、正常に動作するデータベースのコンテンツを表示するツールを作成しましたが、ユーザーは行のボタンをクリックして行を削除する必要があります。

これは、ListStoreをセットアップするために私が今持っているものです

def setup_tree_view(treeview)
 renderer = Gtk::CellRendererText.new
 renderer.foreground = "#ff0000"
 column   = Gtk::TreeViewColumn.new("Bestellnummer", renderer, :text => ID)
 treeview.append_column(column)
 renderer = Gtk::CellRendererText.new
 column   = Gtk::TreeViewColumn.new("Produkt", renderer,  :text => PRODUCT)
 treeview.append_column(column)
 renderer = Gtk::CellRendererText.new
 column   = Gtk::TreeViewColumn.new("Kunde", renderer, :text => CUSTOMER)
 treeview.append_column(column)
 renderer = Gtk::CellRendererText.new
 renderer = Gtk::CellRendererText.new
 column   = Gtk::TreeViewColumn.new("Kontakt", renderer, :text => CONTACT)
 treeview.append_column(column)
 renderer = Gtk::CellRendererToggle.new
 renderer.set_activatable true
 renderer.signal_connect('toggled') do |renderer, path|
   @handler.updateData ((@store.get_iter path).get_value ID), "ordered", toInt( (!((@store.get_iter path).get_value ORDERED)))
   @store.clear
   showData @handler.start
 end

 column   = Gtk::TreeViewColumn.new("Bestellt", renderer, :active => ORDERED)
 treeview.append_column(column)
 renderer = Gtk::CellRendererToggle.new
 renderer.signal_connect('toggled') do |renderer, path|
   @handler.updateData ((@store.get_iter path).get_value ID), "arrived", toInt( (!((@store.get_iter path).get_value ARRIVED)))
   @store.clear
   showData @handler.start
 end
 column   = Gtk::TreeViewColumn.new("Angekommen", renderer, :active => ARRIVED)
 treeview.append_column(column)
 renderer = Gtk::CellRendererToggle.new
 renderer.signal_connect('toggled') do |renderer, path|
   @handler.updateData ((@store.get_iter path).get_value ID), "informed", toInt( (!((@store.get_iter path).get_value ORDERED)))
   @store.clear
   showData @handler.start
 end
 column   = Gtk::TreeViewColumn.new("Informiert", renderer, :active => INFORMED)
 treeview.append_column(column)
end

今、削除ダイアログを開くためのボタンがある新しい列を追加したいのですが、ボタンを配置できるセルレンダラーが見つかりません。

どうやってやるの?

4

1 に答える 1

1

GtkButton のように機能するセル レンダラーはありません。そのため、独自のセル レンダラー オブジェクトを作成するしか方法はありません。

これは独自のレンダラーを作成するためのガイドです。これは C 用に作成されていますが、原則は同じです。

于 2013-01-30T07:25:59.020 に答える