我在 VBox 中有一个 GtkLabel 和一个 GtkDrawingArea,我想使标签相对于 GtkDrawingArea 的 X 坐标(在 VBox 中标签的下方)居中,我如何告诉 GTK 使该标签居中相对于那个“ anchor ”?这个点应该是标签的中心。
最佳答案
由于您的 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
函数重新对齐它。
关于c++ - 将 GtkLabel 相对于 GtkDrawingArea 对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3516395/