2012-09-21 180 views
1

是否可以获得标签尺寸?获取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文档中进行搜索,但我没有成功。

回答

5

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

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