gpt4 book ai didi

css - 如何使用自定义 CSS 设置 GTK+ 样式?

转载 作者:IT王子 更新时间:2023-10-29 00:22:29 25 4
gpt4 key购买 nike

很难说出这里问的是什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或言辞激烈,无法以目前的形式合理回答。如需帮助澄清此问题以便可以重新打开,visit the help center .




8年前关闭。




有人可以输入一个简单的示例来使用 css 设置 GTK+ 小部件的样式吗?我无法弄清楚如何查看文档:

#include <gtk/gtk.h>
int main(int argc,char *argv[])
{
gtk_init(&argc,&argv);
GtkWidget *window;
GtkWidget *button;
GtkCssProvider *cssProvider;

gtk_css_provider_load_from_path(cssProvider,"./gtkExample2.css",NULL);

window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
button = gtk_button_new_with_label("GTK Button");

gtk_style_context_add_provider(gtk_widget_get_style_context(window),cssProvider,GTK_STYLE_PROVIDER_PRIORITY_USER);

g_signal_connect_swapped(window,"delete-event",G_CALLBACK(gtk_widget_destroy),window);

gtk_container_set_border_width(GTK_CONTAINER(window),20);
gtk_container_add(GTK_CONTAINER(window),button);

gtk_widget_show(window);
gtk_widget_show(button);

gtk_main();
return 1;
}

最佳答案

对 GTK3 中的 CSS 样式一无所知(除了它经常中断,因为开发人员更喜欢修复问题 - 尊重 CSS 标准 - 而不是通过版本保持兼容性)。

但是,我可以告诉你,这是错误的:

g_signal_connect_swapped(window,"delete-event",G_CALLBACK(gtk_widget_destroy),window);

当主窗口关闭时,您真正希望它停止 GTK。这是这样做的:
g_signal_connect(window,"destroy", G_CALLBACK(gtk_main_quit), NULL);

另一句话是你正在打电话
gtk_widget_show(window);
gtk_widget_show(button);

当小部件树完成后(即,您停止在容器中添加小部件和顶级窗口中的容器),这可以简化为:
gtk_widget_show_all(window);

另请注意,运行成功的程序应返回 0,并使用非零值报告错误。

关于css - 如何使用自定义 CSS 设置 GTK+ 样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14410821/

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