有人可以用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,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,并使用非零值报告错误.
原文地址:https://www.jb51.cc/css/215753.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。