我在VBox中有一个GtkLabel和一个GtkDrawingArea,我想将标签相对于GtkDrawingArea的X坐标(它位于VBox中的标签下方)居中,我怎么能告诉GTK将该标签居中相对于那个“锚点”?这一点应该是标签的中心。
答案 0 :(得分:2)
由于您的GtkLabel和GtlDrawingArea位于GtkVBox内,因此它们的位置相互相对。以下内容应设置标签与中心的对齐方式:
gtk_misc_set_alignment(GTK_MISC(label), 0.5F /*X*/, 0.5F /*Y*/);
如果您不想使GtkLabel的文本居中,那么您可以使用GtkAlignment小部件:
GtkWidget* helper;
helper = gtk_alignment_new(0.5F /*X*/, 0.5F /*Y*/, 0.0F, 0.0F);
gtk_container_add(GTK_CONTAINER(helper), label);
gtk_box_pack_start_defaults(GTK_BOX(vbox), helper);
您可以通过调用gtk_alignment_set
函数重新对齐它。
答案 1 :(得分:0)
我通过使用gtk_alignment_new
来创建居中对齐来解决我的问题然后我使用gtk_alignment_set_padding
来填充右边的填充,其中填充量需要与任意x轴值对齐。谢谢你的答案!