获取 Gtk 标签的宽度大小

4

能够获取标签的尺寸吗?

#include <gtk/gtk.h>

GtkWidget *mainWindow, *titleLabel, *fixedFrame;

mainWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);

//set window default size, and request size and all stuff

fixedFrame = gtk_fixed_new();
gtk_widget_set_size_request...
gtk_container_add(GTK_CONTAINER(mainWindow), fixedFrame);

titleLabel = gtk_label_new("Welcome!");
gtk_widget_set_size_request(titleLabel, x, y);

gtk_fixed_put(GTK_FIXED(fixedFrame), titleLabel, x1, y2);

我想知道标签"Welcome"的大小,(x, y),以便在框架中计算正确的位置,(x1, y1),但我不知道如何做。我已经尝试在GTK文档中搜索,但没有成功。

1个回答

7

太好了!我找到了一种方法,以下是如何操作:

#include <gtk/gtk.h>

GtkWidget *mainWindow, *titleLabel, *fixedFrame;
GtkRequisition req;

mainWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);

//set window default size, and request size and all stuff

fixedFrame = gtk_fixed_new();
gtk_widget_set_size_request...
gtk_container_add(GTK_CONTAINER(mainWindow), fixedFrame);

titleLabel = gtk_label_new("Welcome!");
gtk_widget_size_request(titleLabel, &req);
gtk_widget_set_size_request(titleLabel, req.width, req.height);

gtk_fixed_put(GTK_FIXED(fixedFrame), titleLabel, x1, y2);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接