c - GTK_WINDOW_TOPLEVEL Gtk Widget 的背景颜色

标签 c colors background widget gtk

在下面的代码中,我希望主 GTK_WINDOW_TOPLEVEL 的背景颜色为 0xc0deed。但是当我运行时它出现黑色。我什至尝试了 gtk_drawing_area_new 并将其添加到主窗口。但它仍然呈现黑色,尽管我可以得到其他颜色,如红色、蓝色、白色等

#include <gtk/gtk.h>

int main( int argc, char *argv[])
{
    GtkWidget *p_s_window = NULL;
    GdkColor color;
    color.red = 0x00C0;
    color.green = 0x00DE;
    color.blue = 0x00ED;
    gtk_init(&argc, &argv);
    p_s_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_position(GTK_WINDOW(p_s_window), GTK_WIN_POS_CENTER);
    gtk_window_set_title(GTK_WINDOW(p_s_window), "hello");
    gtk_widget_modify_bg(p_s_window, GTK_STATE_NORMAL, &color);
    g_signal_connect_swapped(G_OBJECT(p_s_window), "destroy",
            G_CALLBACK(gtk_main_quit), NULL);
    gtk_widget_show_all(p_s_window);
    gtk_main();
    return 0;
}

最佳答案

GdkColor组件是 16 位的,因此范围为 0 到 65535。将您的值乘以 65535/255 就可以了。

例如黄色是:

color.red = 0xffff;
color.green = 0xffff;
color.blue = 0;

关于c - GTK_WINDOW_TOPLEVEL Gtk Widget 的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2223649/

相关文章:

c - 如何使用 mingw 在 Windows 中构建 protobuf-c?

c - 来自 n 个初始化实例的数组

c - c中不同源文件之间的共享变量

ios - 如何使待办事项列表中生成的文本显示为彩色

javascript - HSV颜色的有效范围是多少

css - IE8背景图片不显示

c - 缓冲区溢出 shellcode 覆盖了错误的地址

r - 默认数据集示例 mtcars 和 ggplot2 中的 "Error: Continuous value supplied to discrete scale"

iphone - 应用程序崩溃并出现错误 AppName [5811] 被挂起并锁定系统文件 :AddressBook. sqlitedb"

javascript - 简单的javascript问题-onMouseOver div背景更改