質問

私は、Ruby / Gtkの中のペインを使用してアプリケーションを作成しています。ペインのサイズが変更されたとき、私はいくつかのものを行う必要があります。しかし、私は使用するどの信号を見つけ出すことはできません。私はそれがaccept_position "だと思う - しかし、それは動作していないようです。これは私の問題を示すサンプルアプリです...

#!/usr/bin/env ruby

require 'gtk2'

window = Gtk::Window.new(Gtk::Window::TOPLEVEL)
window.set_title  "Panes"
window.border_width = 10
window.set_size_request(225, 150)
window.signal_connect('destroy') { Gtk.main_quit }
window.signal_connect('delete_event') { false }

button1 = Gtk::Button.new("Resize")
button2 = Gtk::Button.new("Me")

button1.signal_connect( "clicked" ) { window.destroy }
button2.signal_connect( "clicked" ) { window.destroy }

paned = Gtk::VPaned.new
paned.add1(button1)
paned.add2(button2)

paned.signal_connect( "accept_position" ) { 
 puts "hello"
 false
}

window.add(paned)
window.show_all
Gtk.main 

「accept_position」コールが解雇されることはありません。これを引き起こしているものを任意のアイデア/それを修正する方法?

役に立ちましたか?

解決

'accept_position'ペインは、キーボードを使用してサイズ変更された場合にのみ放出された、キーバインド信号です。

私は、Rubyを知らないが、Cにしたい信号が'notify::position'です。 notifyは、プロパティがその値を変更するときに起動GObject信号です。あなたは、信号名には、そのようなpositionとして、のの詳細を追加した場合、それを接続する場合は、それだけで火災、のその特定ののプロパティには、その値を変更します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top