我希望能够在程序运行后动态更改 ruby-gnome2 中笔记本页面的背景颜色。我只找到了一种设置背景颜色的方法:
# Some page contents, for the sake of example
box1 = Gtk::HBox.new(false, 2)
box1.pack_start(Gtk::Label.new("Page 1"))
box2 = Gtk::HBox.new(false, 2)
box2.pack_start(Gtk::Label.new("Page 2"))
notebook = Gtk::Notebook.new # Create a notebook object
notebook.append_page(box1) # Create a page with box1 as contents
notebook.append_page(box2) # Create a page with box2 as contents
style = notebook.style # Copy the currently applied style
style.set_bg(Gtk::STATE_NORMAL, bg.red, bg.green, bg.blue) # Update the bg color
notebook.style = style # Set notebook's style to the updated object
Gtk.main
如果在启动之前应用它,这很好。但是在窗口已经启动后它没有效果。我已经尝试在笔记本对象和页面内容上组合modify_bg
和,但没有效果。modify_base
有没有合适的方法来设置笔记本页面的颜色,它不是那么骇人听闻,并且可以在主循环运行后应用?