2010-01-18 106 views
6

如果我只是做一个标准TextViewJustification设置为Center,它看起来是这样的:在Gtk中,如何将文本垂直居中在TextView中?

Center-Justified TextView

如果我还想水平垂直居中的文字,还有,我该怎么办这个?

+0

我没有看到任何方式与GtkTextView“正常”做到这一点。你可以继承GtkTextView的子类并覆盖它的一些文本绘图功能,但这可能相当困难。我强烈建议您在GTK +邮件列表中提问,因为那里有更多的人拥有相关的知识。 – 2010-01-18 03:22:28

回答

4

TextViews通常意味着大量的用户可编辑的文本。因此它可能变得太大而不得不滚动,因此垂直居中困难。

如果你只用它来显示不必被编辑的消息,你可以尝试Gtk.Label,这样你们可以垂直居中。

+1

我明白了,我现在正在考虑您的建议,并使用标签而不是TextView。但最终,我希望能够在原地进行编辑。希望有一些解决方案。 – 2010-01-18 15:44:02

3

您可以根据textview控件的大小以及其中显示的文本的大小动态更新pixels-above-lines来进行这种对齐。

+0

通过与任一单间距字体组合像素,上述线或绘制出来的文字要弄清楚它是如何多行占据了,你可以自动计算出的值应该是对的TextView的高度比较居中(什么本身)。 – Peter 2012-07-18 22:32:53

+0

@minitech:我早就从这个问题转向了,并没有回去调查这个解决方案。既然你在这个问题上给予了赏金,这个解决方案是否适合你?如果是的话,我会接受答案。 – 2012-07-22 04:36:30

+1

@Matthew:没有,我还没有想出如何衡量它的文本,但是这是他们所有的最正确的答案,我不想赏金去浪费:)我将添加一个代码示例,当我得到它,但。 – Ryan 2012-07-22 17:57:12