c - 获取 Gtk 标签宽度大小

标签 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"的大小,(x, y),计算出正确的 在框架中的位置,(x1, y1) 但我不知道该怎么做。我已经尝试搜索 GTK 文档,但我没有成功。

最佳答案

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

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

关于c - 获取 Gtk 标签宽度大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12523103/

相关文章:

bool AND 的 C 尾调用优化

C- 编辑/更新文件(不一定在最后)。 fopen(路径, "a+")不起作用

c - 算法挑战 : Generate Continued Fractions for a float

c - 为什么回调函数中的值不同 - 不好?

c++ - Gtkmm 和 cairomm 与 visual studio 11(第一次)?

css - 根据 Gtk 3.0 中的小部件大小缩放字体大小

c - 当一个函数没有被前向声明时,GCC 不会在编译器阶段抛出错误

c - 我不想看到文件输出的最后一个字符

c++ - 设置 GtkLinkBut​​tons 的样式

c - GTK:设置对话框的默认按钮