【发布时间】:2017-05-29 23:37:18
【问题描述】:
我有一个Gtk Label,我想在上面显示单行文本。例如文字是:
Linux is a Unix-like computer operating system
现在我想在标签的中心显示这个文本。但问题是它只出现在顶部。
这是我使用的代码:
Message_Label = gtk_label_new (" ");
gtk_grid_attach (GTK_GRID (grid), Message_Label, 0, 1, 2, 1);
gtk_label_set_line_wrap_mode(GTK_LABEL(Message_Label),PANGO_WRAP_WORD);
gtk_label_set_line_wrap(GTK_LABEL(Message_Label),TRUE);
gtk_misc_set_alignment (GTK_MISC (Message_Label), 0.5, 0.5);
gtk_label_set_justify(GTK_LABEL(Message_Label),GTK_JUSTIFY_CENTER);
这就是它的样子:
谁能告诉我这里出了什么问题。
【问题讨论】:
-
如果网格上除了您的标签之外没有其他内容,为什么还要使用网格?容器层次结构如何?网格的父级是一个窗口?
-
@JoséFonte 我有三个标签。其中两个在左上角和右上角对齐。这个(message_label)在它下面。所以我用了一个网格
-
@S Andrew Ok,Tnx 寻求反馈。正如@AndreLDM 所说,我建议您使用 Glade 并使用所有可用参数。您将了解 Gtk 中的布局是如何工作的,然后以编程方式实现它或使用 GtkBuilder。总帐
-
@JoséFonte 是的,我知道 glade,一开始我将它用于 UI。但是在我的应用程序中,我需要以全屏模式显示应用程序,而在使用 glade 时我无法做到这一点。所以我不得不重新使用 gtk 来制作 UI。
-
@S Andrew 您也可以在 Glade 中执行此操作,只需检索窗口,然后以编程方式更改参数。无论如何,提示是让您尝试布局。如果你还安装了 devhelp 包,那么你可以检查 API/Reference 上对应的 UI 参数。