获取Gtk标签宽度大小

时间:2012-09-21 01:22:43

标签: c gtk

是否可以获得标签尺寸?

#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",(xy)的大小,以计算正确的 框架中的位置,(x1y1)但我不知道如何做到这一点。我已经尝试过搜索了 GTK文件,但我没有成功。

1 个答案:

答案 0 :(得分:6)

耶!我找到了一种方法,在这里如何做到这一点

#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);