簡體   English   中英

Ruby-Gnome2筆記本顏色

[英]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_bgmodify_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM