【问题标题】:GtkWidget, change background colorGtkWidget,改变背景颜色
【发布时间】:2013-12-26 16:19:47
【问题描述】:

对不起,我是 Gtk 的新手,所以这可能是个愚蠢的问题。 我使用 Gtk+ 3.0 并且有这个代码

GtkWidget *widget;
widget=gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 2);
gtk_box_pack_start(GTK_BOX(widget), some_label, FALSE, FALSE, 0);

如何更改小部件的背景颜色?我正在尝试

GdkColor red = {0, 0xffff, 0x0000, 0x0000};
gtk_widget_modify_bg(widget, GTK_STATE_NORMAL, &red);

还有其他一些例子,但没有一个适合我的情况。

【问题讨论】:

标签: gtk gtk3


【解决方案1】:

在 GTK+ 3.0 中,您可以使用gtk_widget_override_background_color

【讨论】:

  • 听起来很奇怪,但是这个函数只改变了标签处的字体颜色。
  • 对不起,我的意思是gtk_widget_override_background_color
  • 感谢您的回答,我用 GtkCssProvider 解决了我的问题。
  • 很好,但现在已弃用。我讨厌这样
【解决方案2】:

在 GTK+3 3.22 中,文本中的这个标记代码有效。

gchar *text = "<b><span font='20' background='#ffffff' foreground='#404040'>I'm a colored label</span></b>";

gtk_label_set_text(GTK_LABEL(label), text);
gtk_label_set_use_markup(GTK_LABEL(label), TRUE);

【讨论】:

    猜你喜欢
    • 2012-04-02
    • 2013-07-20
    • 2015-05-23
    • 2018-03-08
    • 2011-05-16
    • 2013-04-28
    • 2021-02-08
    相关资源
    最近更新 更多