gpt4 book ai didi

c - 如何使用 Gtk+3 定义 GtkButton 的颜色(在 C 中)

转载 作者:太空宇宙 更新时间:2023-11-04 03:26:23 26 4
gpt4 key购买 nike

我正在使用 GTK+3(使用 C 语言)创建一个 Battleship 游戏,使用一组按钮,但我有一些与按钮颜色相关的问题。我已经更改了数组的背景颜色,现在,我想更改按钮本身的颜色。我正在尝试使用 gtk_widget_override_color() 函数来执行此操作,但它似乎在我的代码中不起作用。您能否看一下并建议其他可行的功能?我使用的代码在这里:

for(i=0;i<(x[0].n*x[0].n);i++){
gtk_widget_modify_bg(GTK_WIDGET(buttons[i]),GTK_STATE_NORMAL,&color);
gtk_widget_override_color(GTK_WIDGET(buttons[i]),GTK_STATE_NORMAL,&color2);
}

Color变量是GdkColor类型,用gdk_color_parse()定义,而color2是struct GdkRGBA类型,定义如下:

color2.alpha = 0.8;
color2.blue = 0.819;
color2.red = 0;
color2.green = 0.807;

最佳答案

您应该为此使用 CSS。像这样的东西:

GtkCssProvider *provider = gtk_css_provider_new ();
gtk_css_provider_load_from_data (provider,
"button { color: #123456; background-color: blue; }", -1, &error);
gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);

这将为您的所有按钮提供提供的前景色和背景色。

关于c - 如何使用 Gtk+3 定义 GtkButton 的颜色(在 C 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40870043/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com