[英]Ruby-Gnome2 Notebook color
我希望能夠在程序運行后動態更改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
組合, modify_bg
沒有效果。
是否有正確的方法來設置筆記本頁面的顏色不是那么hackish,並可以在主循環運行后應用?
您的問題來自5年前,但我將舉例說明如何使用最新版本的Ruby-GNOME2綁定。 如果不是你,也許它仍然可以派給其他人:
color = Gdk::Color.parse("#003366")
button1.signal_connect("clicked") {
textview1.override_background_color(Gtk::StateFlags::NORMAL, Gdk::RGBA.new(color.red, color.green, color.blue))
}
Gtk.main
該按鈕能夠在主Gtk循環開始之后更改textview小部件顏色,如果這是你的意思。 當然它也應該與筆記本小部件一起使用。
我不得不說我剛剛開始使用Ruby-GNOME2綁定,我不確定這是目前推薦的修改UI外觀的方法,但它確實有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.