我创建与红宝石/ 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'是一个键绑定信号,只有当窗格使用键盘调整大小发射。

我不知道红宝石,但在C你想要的信号是'notify::position'notify是触发每当一个属性改变其值的GObject信号。如果添加的细节,如position到信号名时,当该特定属性改变其值只火灾连接它,然后

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top