在Gtk中,如何将文本垂直居中在TextView中?
如果我只是做一个标准TextView
与Justification
设置为Center
,它看起来是这样的:在Gtk中,如何将文本垂直居中在TextView中?
如果我还想水平垂直居中的文字,还有,我该怎么办这个?
TextViews通常意味着大量的用户可编辑的文本。因此它可能变得太大而不得不滚动,因此垂直居中困难。
如果你只用它来显示不必被编辑的消息,你可以尝试Gtk.Label
,这样你们可以垂直居中。
我明白了,我现在正在考虑您的建议,并使用标签而不是TextView。但最终,我希望能够在原地进行编辑。希望有一些解决方案。 – 2010-01-18 15:44:02
您可以根据textview控件的大小以及其中显示的文本的大小动态更新pixels-above-lines
来进行这种对齐。
通过与任一单间距字体组合像素,上述线或绘制出来的文字要弄清楚它是如何多行占据了,你可以自动计算出的值应该是对的TextView的高度比较居中(什么本身)。 – Peter 2012-07-18 22:32:53
@minitech:我早就从这个问题转向了,并没有回去调查这个解决方案。既然你在这个问题上给予了赏金,这个解决方案是否适合你?如果是的话,我会接受答案。 – 2012-07-22 04:36:30
@Matthew:没有,我还没有想出如何衡量它的文本,但是这是他们所有的最正确的答案,我不想赏金去浪费:)我将添加一个代码示例,当我得到它,但。 – Ryan 2012-07-22 17:57:12
您是否尝试过使用:
GTK_WRAP_CHAR
可在“光标会出现的每一个地方”自动换行,如下所示:http://developer.gnome.org/gtk/2.24/GtkTextView.html#gtk-text-view-set-wrap-mode(点击进入了一点)
这可能是有益与
pixels-above-lines
我没有看到任何方式与GtkTextView“正常”做到这一点。你可以继承GtkTextView的子类并覆盖它的一些文本绘图功能,但这可能相当困难。我强烈建议您在GTK +邮件列表中提问,因为那里有更多的人拥有相关的知识。 – 2010-01-18 03:22:28