2010-01-18 125 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