是否可以设置卷轴的颜色
Is it possible to set the color of a ScrollWindow?
我有以下代码:
GdkColor color;
color.red = 0x0;
color.green = 0x0;
color.blue = 0x0;
gtk_init (&argc, &argv);
window = gtk_dialog_new ();
gtk_widget_modify_bg(window, GTK_STATE_NORMAL, &color);
g_signal_connect (window, "destroy", G_CALLBACK (destroy), NULL);
gtk_window_set_title (GTK_WINDOW (window), "GtkScrolledWindow example");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
gtk_widget_set_size_request (window, 300, 300);
gtk_window_fullscreen (GTK_WINDOW(window));
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
gtk_widget_modify_bg(scrolled_window, GTK_STATE_NORMAL, &color);
gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 10);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG(window)->vbox), scrolled_window, TRUE, TRUE, 0);
gtk_widget_show (scrolled_window);
outside = gtk_table_new (10, 10, FALSE);
gtk_table_set_row_spacings (GTK_TABLE (outside), 10);
gtk_table_set_col_spacings (GTK_TABLE (outside), 10);
gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), outside);
gtk_widget_modify_bg(scrolled_window, GTK_STATE_NORMAL, &color);
gtk_widget_modify_bg(outside, GTK_STATE_NORMAL, &color);
gtk_widget_show (outside);
由于某种原因,窗口的颜色而不是滚动窗口设置为黑色。我该如何更改?
您只需要GtkEventBox
。
GdkColor color;
color.red = 0x0;
color.green = 0x0;
color.blue = 0x0;
gtk_init (&argc, &argv);
window = gtk_dialog_new ();
gtk_widget_modify_bg(window, GTK_STATE_NORMAL, &color);
g_signal_connect (window, "destroy", G_CALLBACK (destroy), NULL);
gtk_window_set_title (GTK_WINDOW (window), "GtkScrolledWindow example");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
gtk_widget_set_size_request (window, 300, 300);
gtk_window_fullscreen (GTK_WINDOW(window));
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
//gtk_widget_modify_bg(scrolled_window, GTK_STATE_NORMAL, &color);
gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 10);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG(window)->vbox), scrolled_window, TRUE, TRUE, 0);
gtk_widget_show (scrolled_window);
outside = gtk_table_new (10, 10, FALSE);
gtk_table_set_row_spacings (GTK_TABLE (outside), 10);
gtk_table_set_col_spacings (GTK_TABLE (outside), 10);
GtkWidget *box = gtk_event_box_new();
gtk_container_add(GTK_CONTAINER(box), outside);
gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), box);
gtk_widget_modify_bg(box, GTK_STATE_NORMAL, &color);
gtk_widget_show (box);
//gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), outside);
//gtk_widget_modify_bg(scrolled_window, GTK_STATE_NORMAL, &color);
//gtk_widget_modify_bg(outside, GTK_STATE_NORMAL, &color);
gtk_widget_show (outside);
如果是GTK3,则应使用CSS:https://developer.gnome.org/gtk3/stable/gtkcsssprovider.html
类似的东西设置了所有滚动窗户的孩子的背景颜色:
scrolledwindow * {
background-color: red;
}
显然,在实际用法中,您可能会通过给小部件一个自定义类本身来更具体。
也请查看检查员,以使尝试更轻松:https://wiki.gnome.org/projects/gtk /inspector
相关文章:
- 如何在24位SDL_Surface上设置像素的颜色
- 设置QTabWidget中各个选项卡的颜色
- 如何仅设置 QTabWidget 背景颜色样式表
- 为什么不能使用 setData() 在 QTreeView 中设置单元格的背景颜色?
- 开罗渐变图案不使用设置颜色
- 在加载页面时,如何为iwebbrowser2设置背景颜色
- Delphi / C 构建器 - 在TDBGrid中设置活动 /选择的行颜色
- 如何设置按钮的背景颜色,包括复选框按钮
- 设置子窗口的文本颜色
- wx颜色设置与整数数组
- 颜色设置在碎片着色器中,未显示GLSL 1.30
- 是否可以设置卷轴的颜色
- 设置 HWND TXT 颜色
- 我如何将特定字符设置为多维数组中的不同颜色
- 如何在wxtreelistctrl中设置文本背景颜色
- 如何在视觉工作室 2012年设置函数输入参数的颜色
- 如何在GDAL输出文件中设置分类颜色
- 为qlineedit设置了背景图像时,如何在qlineedit中设置文本颜色
- 直接在.png加载的cimage上绘制时,将文本颜色设置为
- 单击按钮后对QML矩形的颜色设置动画