إشارة "قبول option_position" لا تسمى في Ruby / GTK2
سؤال
أنا أخلق تطبيق مع الأجزاء في روبي / GTK. عندما يتم تغيير حجم الأجزاء، أحتاج إلى القيام ببعض الأشياء. لكنني لا أستطيع معرفة أي إشارة للاستخدام. أعتقد أنه "قبول" - لكن لا يبدو أن العمل. هذا هو تطبيق نموذج يوضح مشكلتي ...
#!/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
لا يتم إطلاق مكالمة "قبول option_position". أي فكرة ما يسبب هذا / كيفية إصلاحه؟
المحلول
'accept_position'
هي إشارة كيليبلغ، تنبعث منها فقط عند تغيير حجم الجزء باستخدام لوحة المفاتيح.
أنا لا أعرف روبي، ولكن في C إشارة تريدها هي 'notify::position'
. notify
هو GObject
إشارة التي تنطلق كلما تغيرت الممتلكات قيمتها. إذا أضفت تفاصيل, ، مثل position
, ، إلى اسم الإشارة عند توصيله، ثم حرائق فقط عندما هذا محدد الملكية يغير قيمتها.
لا تنتمي إلى StackOverflow