首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ruby-Gnome2笔记本颜色

Ruby-Gnome2笔记本颜色
EN

Stack Overflow用户
提问于 2012-08-01 10:42:12
回答 1查看 298关注 0票数 3

我希望能够在ruby-gnome2程序运行后动态地改变笔记本页面的背景颜色。我只找到了一种设置背景颜色的方法:

代码语言:javascript
运行
复制
# 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被踢出之前应用的,这是很好的。但在窗口已经启动后,它将不起作用。我在notebook对象和页面内容上尝试了modify_bgmodify_base的组合,但都没有效果。

有没有一种合适的方法来设置笔记本页面的颜色,使其不那么粗糙,并且可以在主循环运行后应用?

EN

Stack Overflow用户

发布于 2017-05-02 17:26:46

你的问题是5年前的,但我将给你一个例子,说明我是如何使用最新版本的Ruby-GNOME2绑定来做到这一点的。如果不是对你来说,也许对其他人来说也是有用的:

代码语言:javascript
运行
复制
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小部件的颜色,如果您是这个意思的话。当然,它也应该适用于notebook小部件。

我不得不说,我刚刚开始使用Ruby-GNOME2绑定,我不确定这是当前推荐的修改UI外观的方式,但它是有效的。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11751871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档