【问题标题】:GTK: create a colored regular buttonGTK:创建一个彩色的常规按钮
【发布时间】:2010-11-17 11:33:30
【问题描述】:

我该怎么做?很多网站说我可以在按钮上调用 .modify_bg() ,但这没有任何作用。我可以向按钮添加一个事件框,并为其添加一个标签,然后更改它的颜色,但它看起来很可怕——按钮边缘之间有大量的灰色空间不会改变。我只想要看起来像这样的东西:


(来源:kksou.com

该网站声称刚刚在按钮上完成了 modify_bg()。但这对我不起作用。 =(。

正确的答案可能涉及创建一种样式,或者使用 gtkrc 文件等。有人可以指出我的方向吗?

【问题讨论】:

  • 为什么 GTK 的创造者要让这么简单的事情变得如此困难。他们甚至有一个名为 modify_bg 的函数。它什么也没做。我已经尝试了 2 个小时了。

标签: python button gtk colors pygtk


【解决方案1】:

这是一个小例子:

import gtk

win = gtk.Window()
win.connect("destroy", gtk.main_quit)

btn = gtk.Button("test")

#make a gdk.color for red
map = btn.get_colormap() 
color = map.alloc_color("red")

#copy the current style and replace the background
style = btn.get_style().copy()
style.bg[gtk.STATE_NORMAL] = color

#set the button's style to the one you created
btn.set_style(style)

win.add(btn)
win.show_all()

gtk.main()

【讨论】:

  • 哦,终于。这实际上有效。我看到了一个这样的例子,但是我看到的网站说 .modify_bg 是为了避免做这样的事情而发明的。谢谢!!
  • 如何在 C 中实现
  • 这解释了为什么大多数 gtk 应用程序(Gimp、Gnucash、gedit)都是单调的灰色,因为在这里和那里添加一点颜色是多么复杂......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多