GtkButton与GtkLabel字体缓解:如何自定义一个或另一个?

时间:2011-05-07 21:12:49

标签: button label pygtk subclass styles

上下文

我正在开发一个使用PyGtk的应用程序,它或多或少可以用作面板,就像gnome-panel一样。理想情况下,在我正在制作的面板上,我想要一个没有边框的按钮(注意:我正在使用PyGtk学习GUI编码)。

问题

我已理解from another thread以及documentation gtk_button_set_relief(GtkButton, GTK_RELIEF_NONE)仅取消GTK_STATE_NORMAL上的按钮缓解。因此,当悬停按钮时,浮雕再次出现(旁注:坦率地说,这些选项部分解决了这一点真的很烦人。)

问题的另一个替代方法是使用GtkLabel并将GtkEventBox作为其父级并使其作为按钮运行。然而有一个问题:虽然GtkButton字体有一个浮雕,但GtkLabel没有。见下面的截图:

From left to right: GtkLabel without font relief and GtkButton with font relief

从左到右:没有字体浮雕的GtkLabel和带字体浮雕的GtkButton

问题

现在也许你可以帮我解决上面你的建议。我在想的是:

  1. 是什么导致这些GtkWidgets上的字体减轻:主题还是Gtk基础本身?
  2. 如何为标签的字体添加浮雕? OR
  3. 如何在所有状态下删除按钮的边框浮雕?
  4. 更一般地说,如何使用PyGtk创建自己的小部件(子类化GtkLabel或GtkButton)? (我见过an example on this thread,但那是我相信的)
  5. 我有没有想到的替代方案?
  6. 我应该完全使用另一个GUI库吗?
  7. 感谢。 本杰明:)


    编辑: GtkEventBox的前调整大小句柄处理问题似乎是a Gtk+ bug的影响。

0 个答案:

没有答案