Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GtkFrame未在其子对象周围绘制框_Gtk_Gtk3 - Fatal编程技术网

GtkFrame未在其子对象周围绘制框

GtkFrame未在其子对象周围绘制框,gtk,gtk3,Gtk,Gtk3,我看到了GTK版本2.x和3.x之间的差异。在GTK3中,GtkFrame小部件不会像在2.x版中那样在其子部件周围绘制框。有人知道原因吗?GTK 3中帧的默认样式是不可见边框。如果要查看边框,请添加一些CSS,如下所示: .frame { border: 10px solid red; } 您可以使用,下面是一个没有错误检查的粗略示例: GtkCssProvider *provider = gtk_css_provider_new(); gtk_css_provider_load_f

我看到了GTK版本2.x和3.x之间的差异。在GTK3中,GtkFrame小部件不会像在2.x版中那样在其子部件周围绘制框。有人知道原因吗?

GTK 3中帧的默认样式是不可见边框。如果要查看边框,请添加一些CSS,如下所示:

.frame {
    border: 10px solid red;
}
您可以使用,下面是一个没有错误检查的粗略示例:

GtkCssProvider *provider = gtk_css_provider_new();
gtk_css_provider_load_from_data(provider, ".frame{border:10px solid red;}", -1, NULL);
gtk_style_context_add_provider_for_screen(gdk_screen_get_default(), provider,
    GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);

那么,你的q是什么?为什么GtkFrame在其子对象周围绘制一个框?是的,当我用gtk3编译时,我看不到这些,但是用gtk2编译时,包围的框出现了。据我所知,Gtk o的任何版本在GtkFrame方面都不会有任何区别。也许你应该试着把你默认的gtk主题改成Raleigh,看看它是不是画出来的。除此之外,如果画不出来的话,就把框架去掉,反正这是毫无用处的,因为每个gtk.视图都有自己的“框架”围绕着它,GtkToolbar还有样式上下文,可以修改它与其他小部件不同的外观。但是如果你真的很好奇,请向gnome.org报告这个bug。我感谢你的建议,并为我在这个主题上的有限知识表示歉意,但是阅读参考文档gtk+,我找不到其中提到如何将小部件框架的属性更改为可见。如果这不是一个非常复杂的问题,如果你能告诉我怎么做,我将不胜感激。我尝试了发送给我的一段代码,这就产生了魔力。现在,即使在编译gtk3时,框架框也会出现。我对gtk gui编程中的所有内容感到惊讶。我觉得这远远超过了我在C语言编程方面的有限知识,我与borland C在微软windows中出生,现在在我退休的时候,我是linux、gnu gcc和gnome的热心学生。非常感谢您的关注和花费的时间。